(一)DAO开发方法(使用Mybatis开发Dao有两个方法,即 原始Dao方法 和 Mapper接口开发方法)
* 原始 DAO开发方法: 需要写dao接口和dao实现类,需要向dao实现类注入SqlSessionFactory,在方法体内通过
SqlSessionFactory创建SqlSession
* Mapper动态代理方法(程序员只需要mapper接口(相当于dao接口))
1、实现原理
Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动
态代理对象,代理对象的方法体同上边Dao接口实现类方法
Mapper接口开发需要遵循以下规范:
(1)Mapper.xml文件中的namespace与mapper接口的类路径相同
(2)Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
(3)Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
(4)Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
2、编写Mapper.xml(映射文件)
定义mapper映射文件UserMapper.xml(内容同Users.xml),需要修改namespace的值为 UserMapper接口路径。
将UserMapper.xml放在classpath下mapper目录下
3、Mapper.java(接口)
接口定义有如下特点:
(1)Mapper接口方法名和Mapper.xml中定义的statement的id相同
(2) Mapper接口方法的输入参数类型和mapper.xml中定义的statement的parameterType的类型相同
(3) Mapper接口方法的输出参数类型和mapper.xml中定义的statement的resultType的类型相同
4、在SqlMapConfig.xml中加载UserMapper.xml文件
(二)全局配置文件SqlMapConfig.xml
mybatis的全局配置文件SqlMapConfig.xml,配置内容如下:properties(属性)、settings(全局配置参数)、
typeAliases(类型别名)、typeHandlers(类型处理器)、objectFactory(对象工厂)、plugins(插件)、
environments(环境集合属性对象)、environment(环境子属性对象)、 transactionManager(事务管理)、
dataSource(数据源)、mappers(映射器)
(三)Mapper.xml映射文件
Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心
(四)动态sql(通过mybatis提供的各种标签方法实现动态拼接sql)