SqlMapConfig.xml
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
点击约束跳转到 mybatis-3-config.dtd约束,配置内容和顺序如下:
<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>
dtd约束
|: 任选其一
,:必须按照规定顺序写标签
?: 可以重复一次或0次
*: 0次或多次
+ :1次或多次
SqlMapConfig.xml中配置的内容和顺序如下:
properties(属性配置)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
1.properties:
- 提取常用的属性
<configuration>
<properties>
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"></property>
<property name="jdbc.url" value="jdbc:mysql://127.0.0.1:3306/mybatis1?characterEncoding=utf8"></property>
<property name="jdbc.username" value="root"></property>
<property name="jdbc.password" value="root"></property>
</properties>
<environments default="development">
<environment id="development">
<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="com/wqy/mapper/UserMapper.xml"></mapper>
</mappers>
</configuration> - 引入外部配置文件
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<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>
配置文件db.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis1?characterEncoding=utf8 jdbc.username=root jdbc.password=root
MyBatis 将按照下面的顺序来加载属性:
- 在 properties 元素体内定义的属性首先被读取。
- 然后会读取 properties 元素中 resource 或 url 加载的属性,它会覆盖已读取的同名属性
2.typeAliases
- 自定义别名:
<typeAliases>
<typeAlias type="com.wqy.pojo.User"
alias="User"></typeAlias>
</typeAliases>
在UserMapper.xml中:
<select id="findAll" resultType="User">
select * from user
</select>
- 批量定义别名:
<!-- 批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感) -->
<typeAliases>
<package name="com.wqy.pojo"></package>
</typeAliases>
在UserMapper.xml中:
<select id="findAll" resultType="User">
select * from user
</select>
3.Mappers映射器
-
批量引入(推荐使用)
<!-- 引入配置,引入的是包中所有的接口 推荐使用 -->
<mappers> <package name="com.wqy.mapper"></package> </mappers>
-
引入配置文件
<mappers> <mapper resource="com/wqy/mapper/UserMapper.xml"></mapper> </mappers>
-
引入接口
<!--引入配置:引入dao的接口 前提:xml中的namespace必须与dao接口全类名一致 xml的路径必须dao接口的包名一致 --> <mappers> <mapper class="com.wqy.mapper.UserMapper"></mapper> </mappers>
-
引入路径
<mappers> <!--必须是一个绝对路径--> <mapper url="file:///E:codejavaeeCodeJavaEEPromybatis_2_6_configsrcmain esourcescomwqymapperUserMapper.xml"></mapper> </mappers>