MyBatis_sqlMapConfig配置
sqlMapConfig-properties属性配置
程序都是按下面的顺序读取,所有要按照下面的顺序进行配置
- properties(读取配置文件) √
- settings(全局配置参数)
- typeAliases(类别别名) √
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environment(环境***属性对象、与Spring框架整合后say Good Bye)
- environment(环境子属性对象)
- transactionManager(事务管理)
- dataSource(数据源)
- mappers(配置映射器位置) √
dp.properties 的编写
- 为了区分特指各属性,在关键字前加jdbc
- 注意前后不要多加空格
jdbc.driver = com.mysql.cj.jdbc.Driver jdbc.url = jdbc:mysql://localhost:3306/ssm_mybatis?serverTimezone=UTC jdbc.username = root jdbc.password = 123456
sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties resource="dp.properties"/> <!-- 使用spring之后就省去 --> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务 --> <transactionManager type="JDBC"/> <!-- 使用连接池 连接数据库 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/UserMapper.xml"/> <!--按住ctrl键 检验是否能跳转 --> </mappers> </configuration>
- 如果属性在不止一个地方进行配置,那么mybatis将按照下面的顺序来加载
- 在properties元素体内指定的属性首先被读取
- 然后根据properties 元素中的resource属性读取类路径下属性文件或根据url属性指定的路径读取配置文件,并覆盖已读取的同名属性
- 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性
- 因此通过方法参数传递的属性具有最高优先级,resource/url属性中指定的配置文件次之,最低优先级的是properties属性中指定的属性
sqlMapConfig-typeAliases别名配置
- 单个bean对象起别名
<typeAliases> <typeAlias type="com.test.bean.user" alias="user"/> </typeAliases>
- 多个bean对象其别名 ,以包的形式批量配置
- 推荐使用package包的形式来配置别名
- 包的形式会扫描主包及子包下的所有文件
- 以对象类名为别名,大小写无限,推荐使用小写
<typeAliases> <package name="com.test.bean"/> </typeAliases>
sqlMapConfig-mapper映射器位置
使用相对于类路径的资源引用(resource)
<mappers> <mapper resource="mapper/UserMapper.xml"/> <!--按住ctrl键 检验是否能跳转 --> </mappers>
使用完全限于资源定位符(URL)
<mappers> <mapper url="file:\\\E:\UserMapper.xml"/> </mappers>
使用映射器接口实现类的完全限定类名(class)
- 需要将mapper.java【接口】 和 mapper.xml 两个文件放到统一各包中
<mappers> <mapper class="com.test.mapper.userMapper" /> </mappers>
将包内的映射器接口实现全部注册为映射器 package
<mappers> <package name="com.test.mapper"/> </mappers>