配置标签
一、properties标签
可以将全局配置信息写在外部,然后使用
"${xxx}"
的方式引用即可
1.在类路径下放置配置文件
这里以数据库连接信息为例
- resources/JdbConfig.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf-8
username=root
password=abc123
- resources/SqlMapConfig.xml
<configuration>
<properties resource="JdbcConfig.properties"></properties>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/> -- 保证${}内的命名与配置文件的名字一致
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
...
</mappers>
</configuration>
2.使用url的方式【了解,不推荐使用】
...
<properties url="file:///D:project/classes/SqlMapConfig.xml"></properties>
...
二、typeAliases标签
typeAliases标签用于取别名
- SqlMapConfig.xml
<configuration>
<properties resource="JdbcConfig.properties"></properties>
-- 使用typeAliases配置别名,【只能配置domain中】的javaBean别名 -->
<typeAliases>
<!-- alias制定别名后,就可以不区分大小写,比如user USER User 都行 -->
<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>
</typeAliases>
...
- UserDao.xml
<mapper namespace="com.itheima.dao.UserDao">
<select id="findAll" resultType="user">
select * from user
</select>
...
三、package标签【推荐使用!】
1.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="JdbcConfig.properties"></properties>
-- 使用typeAliases配置别名,【只能配置domain】中的javaBean别名 -->
<typeAliases>
--
用于制定要配置别名的包,当制定之后该包下的实体类都
会被注册别名,类名就是别名,不区分大小写,就是直接写类名即可! -->
<package name="com.itheima.domain"></package>
</typeAliases>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- <mapper resource="com/itheima/dao/UserDao.xml"/> -->
-- 这里的package标签是用于指定dao接口所在的包
当制定了之后就不需要写mapper标签以及resource或者class了,
由于dao层接口的配置文件路径与dao接口全限定名有关系,mybatis会
自动解析取找寻对应的配置文件!【最终接口字节码文件.class和配置文件.xml会放在同一个文件夹下】
-->
<package name="com.itheima.dao"></package>
</mappers>
</configuration>