SqlMapConfig.xml 中配置的内容和顺序 :
- properties(属性)
property - settings(全局配置参数)
setting - typeAliases(类型别名)
typeAliase
package - typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境集合属性对象)
environment(环境子属性对象)
ptransactionManager(事务管理)
dataSource(数据源) - mappers(映射器)
mapper
package
properties(属性):该标签有两种配置方式
第一种:
<!--
resource属性:用于指定 properties 配置文件的位置,要求配置文件必须在类路径下resource="jdbcConfig.properties"
-->
<properties resource="jdbc\jdbc.properties"></properties>
第二种:
<properties>
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="root"/>
</properties>
dataSource标签中引用上面的配置:
<dataSource type="POOLED">
<!-- 配置连接数据库的4个基本信息 -->
<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>
typeAliases:该标签是用来定义别名的,之前我们写的代码都是写的类的全限定类名,通过该标签可以直接写类名就可以了。
<typeAliases>
<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
<package name="com.crud.entity"/>
<!--单个定义别名-->
<typeAlias alias="user" type="com.zy.domin.User"/>
</typeAliases>
这样定义后我们sql映射文件直接写类名
<select id="findAll" resultType="user">
select * from USER_INFO
</select>
mapper映射器:
第一种:使用相对于类路径的资源
<mappers>
<mapper resource="com/crud/mapper/UserInfoMapper.xml"/>
</mappers>
第二种:使用 mapper 接口类路径,注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。
<mappers>
<mapper class="com.crud.mapper.UserInfoMapper"></mapper>
</mappers>
第二种:注册指定包下的所有 mapper 接口,注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。
<mappers>
<package name="com.crud.mapper"/>
</mappers>