Mybatis

2018-03-10  本文已影响0人  聂叼叼

一、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封装多个对象

http://blog.csdn.net/charles_7c/article/details/64520250

https://www.jianshu.com/p/30b0b27710b0

上一篇下一篇

猜你喜欢

热点阅读