SqlMapConfig.xml 中配置的内容和顺序
properties(属性)
在使用 properties 标签配置时,我们可以采用两种方式指定属性配置。
第一种:
<configuration>
<!--配置属性-->
<properties>
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</properties>
<environments default="mysql">
<environment id="mysql">
<!-- 配置事务类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源(连接池) -->
<dataSource type="POOLED">
<!-- 此处使用${}直接引用上面的定义即可 -->
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
<!--原先写法
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
-->
</dataSource>
</environment>
</environments>
</configuration>
第二种:
-
在 classpath 下定义 jdbcConfig.properties 文件
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis username=root password=root
-
properties 标签引入jdbcConfig.properties
<configuration> <!-- 配置连接数据库的信息 1. resource 属性:用于指定 properties 配置文件的位置,要求配置文件必须在类路径下 如:resource="jdbcConfig.properties" 2. url 属性: URL: Uniform Resource Locator 统一资源定位符 如:http://localhost:8080/mystroe/CategoryServlet URL 支持http协议 file:///D:/mybatis/src/main/resources/jdbcConfig.properties 也支持file协议 协议 主机 端口 URI URI: Uniform Resource Identifier 统一资源标识符 /mystroe/CategoryServlet 它是可以在 web 应用中唯一定位一个资源的路径 --> <properties resource="jdbcConfig.properties"></properties> <!-- <properties url="file:///D:/mybatis/src/main/resources/jdbcConfig.properties"> </properties> --> <environments default="mysql"> <environment id="mysql"> <!-- 配置事务类型 --> <transactionManager type="JDBC"></transactionManager> <!-- 配置数据源(连接池) --> <dataSource type="POOLED"> <!-- 此处使用${}直接引用jdbcConfig.properties的键 --> <property name="driver" value="${driver}"></property> <property name="url" value="${url}"></property> <property name="username" value="${username}"></property> <property name="password" value="${password}"></property> <!--原先写法 <property name="driver" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property> <property name="username" value="root"></property> <property name="password" value="root"></property> --> </dataSource> </environment> </environments> </configuration>
typeAliases(类型别名): 在 SqlMapConfig.xml 中配置
<typeAliases>
<!-- 单个别名定义
alias:别名,定义后不再区分大小写,使用时user,User,USER都一样
type:实体类的全限定名
-->
<typeAlias alias="user" type="com.mg.entity.User"/>
</typeAliases>
或者可以批量定义别名:
<typeAliases>
<!-- 批量别名定义,扫描整个包下的类,别名为类名,定义后不再区分大小写,使用时user,User,USER都一样 -->
<package name="com.mg.entity"/>
</typeAliases>
在Mapper文件中使用时IUserMapper.xml
<!-- resultType直接引用别名 -->
<select id="findAll" resultType="user">
select * from user
</select>
mappers(映射器)
-
mapper resource:使用相对于类路径的资源
<mappers> <mapper resource="com/mg/dao/IUserMapper.xml" /> </mappers>
-
mapper class:使用 mapper 接口类路径 ,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中
<mappers> <mapper class="com.mg.dao.IUserMapper"/> </mappers>
-
package name:注册指定包下的所有 mapper 接口 ,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。
<mappers> <package name="cn.mg.mybatis.mapper"/> </mappers>
-
mapper url:注册指定url下的mapper文件
<mappers> <package url="file:///var/mappers/IUserMapper.xml"/> </mappers>