Mybatis入门笔记(3)——SqlMapConfig.xml文件说明
配置的内容和顺序
-
properties(属性)
- property
-
settings(全局配置参数)
- setting
-
typeAliases(类型别名)
- typeAliase
- package
-
typeHandlers(类型处理器)
-
objectFactory(对象工厂)
-
plugins(插件)
-
environments(环境集合属性对象)
- environment(环境子属性对象)
- transactionManager(事务管理)
- dataSource(数据源)
- environment(环境子属性对象)
-
mappers(映射器)
- mapper
- package
properties(标签配置)
可以在标签内部配置连接数据库的信息。也可以通过属性引用外部配置文件信息。
在标签内部配置
<?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>
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://192.168.214.128:3306/mybatis?characterEncoding=utf-8"></property>
<property name="username" value="root"></property>
<property name="password" value="ben123"></property>
</properties>
<!-- 配置环境-->
<environments default="mysql">
<!--配置mysql的环境-->
<environment id="mysql">
<!--配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置连接池-->
<dataSource type="POOLED">
<!--配置连接数据库的4个基本信息-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
<mappers>
<mapper resource="com/ben/dao/IUserDao.xml"/>
</mappers>
</configuration>
通过属性引用配置文件的位置
resource属性:用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下。resource="jdbcConfig.properties"
<?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="jdbcConfig.properties">
</properties>
<!-- 配置环境-->
<environments default="mysql">
<!--配置mysql的环境-->
<environment id="mysql">
<!--配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置连接池-->
<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>
</environment>
</environments>
<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
<mappers>
<mapper resource="com/ben/dao/IUserDao.xml"/>
<!-- <mapper class="com.ben.dao.IUserDao"/>-->
</mappers>
</configuration>
举例:
<properties url="file:///D:/Java/mybatisdemo/mybatisdemo3/src/main/resources/jdbcConfig.properties"></properties>
typeAliases(类型别名)
typeAlias用于配置别名,type属性指定的是实体类全限定类名,alias属性指定别名,当指定了别名就不再区分大小写。
举例:
<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>
package:用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写
<package name="com.ben.domain"/>
mappers(映射器)
mapper下的两个属性
<mapper resource="com/ben/dao/IUserDao.xml"/>
使用相对于类路径的资源
<mapper class="com.ben.dao.IUserDao"/>
使用 mapper 接口类路径,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。
package
用于指定dao接口所在的包,当指定了之后就不需要在写mapper以及resource或者class。
<mappers>
<!-- <mapper resource="com/ben/dao/IUserDao.xml"/>-->
<!-- <mapper class="com.ben.dao.IUserDao"/>-->
<package name="com.ben.dao"/>
</mappers>