Mybatis详细介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Presentation Title
22
三、sqlmap.xml
简述
– 包含了我们将要运行的SQL语句
Presentation Title
23
三、sqlmap.xml
项目中的sqlmap.xml
Presentation Title
24
三、sqlmap.xml
<select> 查询 <insert> 插入数据 <update> 更新数据库中信息 <delete> 删除 <procedure> 存储过程 <statement> <sql> select * from a where name=“aaa” <include>
– List queryForList(java.lang.String id, java.lang.Object parameterObject, int skip, int max);
Presentation Title
18
一、认识sqlMapClient
API【4】
– Object insert(String id, Object parameterObject); – Object insert(String id); – int update(String id, Object parameterObject) ; – int update(String id) ; – int delete(String id, Object parameterObject) ;
Presentation Title
27
一、如何配置MyBATIS
项目中MyBatis 的配置文件位置
Presentation Title
28
二、SqlMap的应用
项目中Model的位置
Presentation Title
29
二、SqlMap的应用
Mode写法
Presentation Title
Presentation Title
5
二、与传统的JDBC比较
比较
– 减少了61%的代码量 – 最简单的持久化框架 – 架构级性能增强
– SQL代码从程序代码中彻底分离,可重用
– 增强了项目中的分工 – 增强了移植性
Presentation Title
6
三、与Hibernate框架比较
Hibernate映射关系
30
二、SqlMap的应用
SqlMap在项目 中的位置
Presentation Title
31
二、SqlMap的应用
SqlMap的写法
– Select的写法
Presentation Title
32
二、SqlMap的应用
SqlMap的写法
– Insert写法
Presentation Title
MyBATIS介绍
Presentation Title
1
大纲
第一部分: MyBATIS介绍 第二部分:基础知识点 第三部分:开发中的应用
Presentation Title
2
第一部分: MyBATIS介绍
一、什么是MyBATIS 二、与传统的JDBC比较 三、与Hibernate框架比较
20
二、sqlmapconfig.xml
项目中的sqlmapconfig.xml
Presentation Title
21
二、sqlmapconfig.xml
<properties>主配置文件之外提供一个名值对列如: <properties resource=“db.properties” /> <settings> 添加各种属性如:延迟加载,使用限定名等。 <transactionManager>用于指定使用什么事物管理器 等功能。 <typeAlias> 已经内置的类型别名定义 <typeHandler>将数据从数据库特定的数据类型转换为 应用程序中的数据类型。 <sqlMap>总标签
33
二、SqlMap的应用
SqlMap的写法
– Update写法
Presentation Title
34
二、SqlMap的应用
SqlMap的写法
– Delete的写法
Presentation Title
35
二、SqlMap的应用
SqlMap的写法
– Sql的组合
Presentation Title
– int delete(String id);
Presentation Title
19
二、sqlmapconfig.xml
简述
– 它是使用iBATIS的起点,负责把所有的SQL映射文件 组合在一起。用于配置文件中告诉iBATIS如何连接数 据库,以及获取哪些SQL映射文件。
Presentation Title
Presentation Title
16
一、认识sqlMapClient
API【2】
– Map queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp); – Map queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp, java.lang百度文库String valueProp);
Presentation Title 10
三、与Hibernate框架比较
实际开发比较
– 3、可维护性方面,iBatis 更好一些。因为 iBatis 的
sql 都保存到单独的文件中。而 Hibernate 在有些情况
下可能会在 java 代码中保sql/hql。
Presentation Title
决方案而言,ibatis是一种“半自动化”的orm实现。
Presentation Title
4
一、什么是iBATIS
基本要素
– sql maps:是整个ibatis database layer的核心价 值所在。通过使用sql maps你可以显著的节约数据 库操作的代码量。sql maps使用一个简单的xml文 件来实现从javabean到sql statements的映射。跟 其他的框架或者对象映射工具相比,sql maps最大 的优势是简单。
四、工作流程
Presentation Title
3
一、什么是MyBATIS
介绍
– MyBATIS的前身是iBATIS
– iBATIS是Clinton Begin开发,现在由APACHE基金 会支持的用于加快JDBC编程的经过泛化的框架,是 一个持久化框架。 – 相对于hibernate和apache ojb等“一站式”orm解
36
二、SqlMap的应用
要点:
– sqlMap中的Namespace要与sqlMapConfig.xml中 alias定义名称一致 – sqlMapConfig.xml中的type要与对应model所在的 类路径一致
Presentation Title
37
课后作业
1.请根据之前的学习做出程序示例:应用 MyBatis操作数据库在相应表中添加一条 记录
Presentation Title
7
三、与Hibernate框架比较
MyBATIS映射关系
Presentation Title
8
三、与Hibernate框架比较
实际开发比较
– 1 、iBATIS需要手写sql语句,也可以生成一部分, Hibernate则基本上可以自动生成,偶尔会写一些Hql。 同样的需求,iBATIS的工作量比Hibernate要大很多。类 似的,如果涉及到数据库字段的修改,Hibernate修改 的地方很少,而iBATIS要把那些sql mapping的地方一 一修改。
Presentation Title
14
一、认识sqlMapClient
简述
– 它是iBatis中的重要接口,这个接口涉及到对SQL映
射的执行和批处理。
Presentation Title
15
一、认识sqlMapClient
API【1】
– Object queryForObject(java.lang.String id); – Object queryForObject(java.lang.String id, java.lang.Object parameterObject); – Object queryForObject(java.lang.String id, java.lang.Object parameterObject, java.lang.Object resultObject)
25
Presentation Title
第三部分:开发中的应用
一、如何配置iBATIS 二、DAO及SqlMap的应用 三、对数据库访问的调用
Presentation Title
26
一、如何配置MyBATIS
在Spring配置文件applicationContext.xml 中配置myBatis
17
Presentation Title
一、认识sqlMapClient
API【3】
– List queryForList(java.lang.String id);
– List queryForList(java.lang.String id, int skip, int max);
– List queryForList(java.lang.String id, java.lang.Object parameterObject);
Presentation Title
38
Thanks!
Presentation Title
39
Presentation Title
9
三、与Hibernate框架比较
实际开发比较
– 2、iBatis 可以进行细粒度的优化 (1)更新一个表的某个字段:
UPDATE TABLE_A SET column_1=#column_1# WHERE id=#id#
(2)列出一个表的部分内容
SELECT ID, NAME FROM TABLE_TABLENAME WHERE ..
11
四、工作流程
Presentation Title
12
四、工作流程
1)接收一个对象参数 2)执行这个映射的statement
3)返回
Presentation Title
13
第二部分:基础知识点
一、认识sqlMapClient 二、SqlmapConfig.xml 三、Sqlmap.xml