一、Mybatis的架构(执行流程)
二、Mybatis的介绍(扯皮)
https://www.jianshu.com/p/30b0b27710b0
三、集成
四、使用
1、传统方式
(1)、创建对象,要与表中字段保持一致
(2)、编写sqlMapConfig.xml
(3)、编写Mapper.xml
(4)、读取配置文件
(5)、创建sqlSessionFactory
(6)、创建sqlSession
(7)、在Mapper.xml编写sql语句
(8)、sqlSession执行sql并返回结果
2、接口式编程(推荐)
(1)、创建Mapper接口(Dao层接口)
(2)、Mapper.xml与Mapper接口进行绑定
(3)、通过sqlSession.getMapper来创建接口的代理对象
五、mybatis与hibernate的区别?
首先,这两个框架都属于ORM框架,hibernate属于完全对象关系映射,可以用hql或者用方法来去代替原生sql,与数据库无关性较大。mybatis属于半完全对象关系映射,依旧引用sql语法,但是以xml的形式去配置sql语句。hibernate,拥有一套属于自己原创的hql和方法语法,无形中增加了学习的成本,上手难度较大,而且适合开发较大的工程。mybatis,相对较为简单,依旧沿用sql,与数据库关联性较强。但是我觉得,两种框架各有优劣,需要结合自己的项目业务来搭配使用,以达到较好的效果。
六、mybatis的主配置文件
configuration.xml
(1)、properties标签
(2)、settings标签
(3)、typeAliases标签(别名处理器)(不推荐使用)
(4)、typeHandlers标签
(5)、plugins标签
(6)、environments标签
(7)、databaseIdProvider标签
(8)、mapper标签引入映射文件
mapper.xml
(1)、作用:书写sql语句
(2)、标签:提供了基本的数据库操作标签
(3)、增删查改基本操作
a:自动提交事务配置
b:
c:主键id获取
(4)、多参
当你的参数只有一个时,mybatis不插手参数取值,当参数是多个的时候,会插手参数取值.
解决办法:
1、封装成对象进行参数取值(POJO类)
2、命名参数(推荐)
3、封装成Map
4、TO
(5)、返回resultType
resultType:
1、简单类型(基本数据类型)
2、POJO类
3、POJO的包装类
(6)、手动映射resultMap
(7)、参数处理
(8)、集合的返回
1、list
2、map
(2.1)、map封装单个对象
(2.2)、map封装多个对象
网友评论