mybatis核心配置我呢见中众多标签在配置的时候是有顺序要求的
(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)
mybatis-config.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>
<!-- 配置数据库的连接环境
default:设置默认使用的环境id
-->
<environments default="development">
<environment id="development">
<!--
id:连接数据库的环境的唯一标识
environment:配置某个具体的环境
-->
<transactionManager type="JDBC"/>
<!--
transactionManager:设置事务管理方式,jdbc表示当前环境执行sql时,使用的是原生的jdbc的事务管理方式,
事务的提交或者回滚需要手动处理
-->
<dataSource type="POOLED">
<!-- dataSource 配置数据源
type="POOLED" 表示数据库连接池缓存数据库连接
-->
<!-- 设置连接数据库的驱动-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!-- 设置数据库的连接地址-->
<property name="url" value="jdbc:mysql://localhost:3308/mybatis"/><!-- mybatis是数据库的名字-->
<property name="username" value="root"/>
<property name="password" value="admin123"/>
</dataSource>
</environment>
</environments>
<!-- 引入映射文件-->
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration>
在此基础上我们可以把配置数据库的信息另外写到一个properties文件当中
jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3308/mybatis
jdbc.username=root
jdbc.password=admin123
然后在mybatis-config.xml中引入jdbc.properties,并把property标签的value属性改掉成${}。
<properties resource="jdbc.properties"/>
<dataSource type="POOLED">
<!-- 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>
mybatis-config.xml 中起别名标签typeAlias
单个设置:
<typeAliases>
<!-- 写了alias的话,就给起了一个固定的别名-->
<typeAlias type="com.cn.spring.firstday.User" alias="user"></typeAlias>
<!-- 不写alias的话,别名就是默认类名且不区分大小写-->
<typeAlias type="com.cn.spring.firstday.User" ></typeAlias>
</typeAliases>
按包设置
<typeAliases>
<!-- 把这个包下的所有类设置默认别名(类名且不区分大小写)-->
<package name="com.cn.spring.firstday"/>
</typeAliases>
起别名的意义,在mapper映射文件中可以使用别名
<!-- 不用别名之前 : resultType="com.cn.spring.firstday.User
别名user是不区分大小写的
-->
<select id="getAllUser" resultType="user">
select * from t_user
</select>
|