MyBatis核心配置文件结构及核心配置文件标签详解

电玩女神 2024-04-06 13:14 173阅读 0赞

目录

一、文件结构

二、核心配置文件详解

1、标签顺序

2、标签详解


一、文件结构

● 核心配置文件命名建议是mybatis-config.xml,无强制要求
核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息
核心配置文件存放的位置是maven工程下的src/main/resources目录下

简易结构如下,核心配置文件的标签不止这几个

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!--DTD约束-->
  3. <!DOCTYPE configuration
  4. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  5. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  6. <configuration>
  7. <!--
  8. 1.environments配置数据库的环境,环境可以有多个
  9. 2.default属性指定使用的环境--><environments default="development">
  10. <!--
  11. 1.environment配置具体某个数据库的环境
  12. 2.id属性唯一标识这个环境
  13. -->
  14. <environment id="development">
  15. <!--
  16. 1.transactionManager设置事务管理方式
  17. 2.type属性取值有“JDBC|MANAGED”
  18. 3.JDBC指当前环境中使用的是JDBC中原生的事务管理方式,事务的提交或回滚需要手动处理
  19. 4.MANAGED指被管理,例如Spring中
  20. -->
  21. <transactionManager type="JDBC"/>
  22. <!--
  23. 1.dataSource配置数据源
  24. 2.取值有"POOLED|UNPOOLED|JNDI"
  25. 3.POOLED表示使用数据库连接池缓存数据库连接
  26. 4.UNPOOLED:表示不使用数据库连接池
  27. 5.JNDI表示使用上下文中的数据源-->
  28. <dataSource type="POOLED">
  29. <!--设置链接数据库的驱动-->
  30. <property name="driver" value="com.mysql.jdbc.Driver"/>
  31. <!--设置连接数据库的地址-->
  32. <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
  33. <!--设置连接数据库的用户名-->
  34. <property name = "username" value="root"/>
  35. <!--设置连接数据库的密码-->
  36. <property name="password" value="lxq"/>
  37. </dataSource>
  38. </environment>
  39. </environments>
  40. <!--mappers用于引入映射的配置文件-->
  41. <mappers>
  42. <!--mapper用于指定某个映射文件,resource属性指定文件路径-->
  43. <mapper resource="mappers/UserMapper.xml"/>
  44. </mappers>
  45. </configuration>

二、核心配置文件详解

1、标签顺序

● 核心配置文件中configuration标签下的子标签要按照一定的顺序书写
● properties => settings => typeAliases => typeHandlers => objectFactory =>
objectWrapperFactory => reflectorFactory => plugins => environments =>
databaseIdProvider => mappers

2、标签详解

标签

用于引入某个properties配置文件,是一个单标签

resource属性指定配置文件

范例:

标签

● 用于为某个类的全类名设置别名,子标签是

● 一个子标签对应设置一个类的别名

● 子标签下有type和alias两个属性,type指定需要设置别名的类的全类名,alias指定别名

● 如果只设置了type属性,那么默认的别名就是它的类名(不是全类名)而且不区分大小写

● 如果想要设置某个包下所有类的别名,可以使用标签,用name属性指定包名

范例:

  1. <typeAliases>
  2. <typeAlias type="com.lxq.pojo.User" alias="User"></typeAlias>
  3. <package name="com.lxq.pojo"></package>
  4. </typeAliases>

MyBatis中内建了一些类型的别名,常见的有:




























Java类型 别名
int _int或_integer
integer int或integer
String string
List list
Map map

标签

用于配置连接数据库时用到的各种属性,是一个单标签
该标签有两个属性,一个是name指定属性名,另一个是value指定属性值

如果不使用标签引入相关配置文件时,使用方式如下:

  1. <property name="driver" value="com.mysql.jdbc.Driver" />

如果使用标签引入相关的配置文件时,value属性可以写成如下形式:

  1. <property name="driver" value="${jdbc.driver}" />

其中配置文件的内容是:

  1. jdbc.driver=com.mysql.jdbc.Driver

注意:这里使用jdbc.driver来给键命名是因为核心配置文件中可能会引入其他的配置文件,如
果使用driver来命名键的话有可能会跟其他配置文件中的键同名而产生冲突

标签

● 该标签用于引入映射文件
● 每个映射文件使用子标签来表示,该子标签是一个单标签
● 子标签使用属性resource来指定需要引入的映射文件
● 如果想要将某个包下所有的映射文件都引入,可以使用标签,使用name属性来指定需要引入的包

范例:

  1. <mappers>
  2. <mapper resource="mappers/UserMapper.xml" />
  3. <package name="com.lxq.mapper" />
  4. </mappers>

注意:使用包的形式引入映射文件需要满足两个条件,1.mapper接口所在的包和映射文件所
在的包要一致;2.mapper接口名和映射文件名要相同

发表评论

表情:
评论列表 (有 0 条评论,173人围观)

还没有评论,来说两句吧...

相关阅读