Mybatis全局配置文件学习笔记
一、properties(属性)
- (1)properties标签:可以引入外部properties配置文件内容,可以读取连接数据库的基本配置文件
- (2)Mybatis与Spring进行整合时,读取配置文件的工作,一般交给Spring处理,此标签了解即可
- (3)resource:引入类路径下的资源;url:网络路径或磁盘路径的内容
- (4)使用实例:
1 | 配置文件 |
1 | 全局配置文件 |
二、settings(设定)
- (1)settting:包含很多重要设定项
- (2)setting:用来设定某一个设定项
- name:设定项名
- value:设定项取值
- (3)setting的设定项名(查看官方文档):
- (4)使用实例
1 | <settings> |
三、typeAliases(类型别名)
- (1)typeAliases:为Java某个类型起别名
- type:起别名类的全类名
- alias:别名。若不添加此字段,默认为类名小写
- (2)单个起别名实例:
- 别名启用前
1 | 映射文件 |
- 别名启用后
1 | 全局配置文件--配置别名 |
1 | 映射文件--引用别名 |
- (3)批量起别名
- typeAliases标签下的字标签
- package:为指定包下的所有类起别名
- name:指定包名(为当前包,以及下面所有的后带包的每一个类都起一个默认别名)
- 在批量起别名的情况下,防止包与子包出现重名,可以在某个类使用@Alias(“别名”),自定义别名
1 | 全局配置文件--批量起别名 |
1 | 类--自定义批量别名 |
四、typeHandlers(类型处理器)
- (1)Java类型与数据库类型映射的桥梁
- 以后细说
五、objectFactory(对象工厂)
- (1)一般都不会修改此配置属性,都是使用默认方法
- 不细说
六、plugin(插件)
- (1)plugin对语句执行的偶一点进行拦截调用
- 拦截方法:
- Executor:执行器
- ParameterHandler:参数处理器
- ResultSetHandler:结果集处理器,拿出结果集并封装成JavaBean对象
- StatementHandler:sql语句处理器
- 以后细说
- 拦截方法:
七、envrionments(环境)
- (1)标签介绍
- environments:存放多个环境
- default:指定某个环境,来进行环境切换
- environment:配置一个具体的环境信息,必须有两个标签
- id:当前环境的唯一标识
- transactionManager:事务管理器
- type:事务管理器类型(JDBC、MANAGED)
- 自定义事务管理器:类实现TransactionFactory接口,type指定为全类名
- 事务管理:一般交给Spring来进行
- type:事务管理器类型(JDBC、MANAGED)
- dataSource:数据源
- type:数据源类型(UNPOOLED、POOLED、JNDI)
- 自定义连接池:类实现DataSoutceFactory接口,type是该类的全类名
- type:数据源类型(UNPOOLED、POOLED、JNDI)
- (2)使用实例
- 创建两个数据库环境,”mysql”和”Oracle”
1 | 全局配置文件--环境配置 |
八、databaseIdProvider(数据库厂商标识)
(1)标签介绍
- databaseIdProvider:设置数据库厂商标识,来指定某条sql语句是指定数据来执行的
- type=”DB_VENDOR”:得到数据库厂商标识(驱动自带),mybatis就能根据数据库厂商标识来执行
- 举例驱动:MYSQL、Oracle、SQL Server
- 也可以使用子标签property来为驱动起别名
- type=”DB_VENDOR”:得到数据库厂商标识(驱动自带),mybatis就能根据数据库厂商标识来执行
- databaseIdProvider:设置数据库厂商标识,来指定某条sql语句是指定数据来执行的
(2)使用实例
1 | 全局配置文件--数据库厂商标识 |
1 | 映射文件--设定sql语句执行的数据库 |
九、mappers(映射器)
- (1)标签介绍
- mappers:存放一组映射文件注册
- mapper:注册一个sql映射
- resource:引用类路径下的sql映射文件
- url:引用网络路径/磁盘路径下的sql映射文件
- 开发中:一般将mapper映射文件,存放在mybatis.mapper的包中
- mapper:注册一个sql映射
- (2)利用接口注册
- 情况一:有sql映射文件
- 创建一个接口,接口名与sql映射文件名一样,且放在同一目录下
- 用mapper的class:类的全类名
- 情况二:没有sql映射文件
- 创建一个接口,在接口方法上添加相应的注解:
- 增:@Insert(“sql语句”)
- 删:@Delete(“sql语句”)
- 改:@Update(“sql语句”)
- 查:@Select(“sql语句”)
- 用mapper的class:类的全类名
- 创建一个接口,在接口方法上添加相应的注解:
- 使用推荐 :比较重要的Dao接口,sql写在xml配置文件中;不重要的,简单Dao接口为了快速开发,使用注解
- 情况一:有sql映射文件
情况二演示
1 | 接口 |
1 | 全局配置文件--注册接口 |
- (3)批量注册
- 要求和接口注册一样
- 利用package标签
- name:接口和映射文件所在的包名