核心配置文件详解
xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<!--
environment 单独的配置环境
属性 id 是必须的,不能重复
--> <environment id="development">
<!--
transactionManager 设置事务管理方式
属性:
type: "JDBC" | "MANAGED"
jdbc: 表示当前环境中,执行SQL,使用的是JDBC原生事务管理,事务需要手动提交或自动提交
managed: 表示当前环境中,执行SQL,使用的是MyBatis自己的事务管理,事务需要手动提交
-->
<transactionManager type="JDBC"/>
<!--
dataSource 设置数据源
属性:
type: "POOLED" | "UNPOOLED" | "JNDI"
POOLED: 表示使用数据库连接池
UNPOOLED: 表示不使用数据库连接池
JNDI: 表示使用上下文中的数据源
-->
<dataSource type="POOLED">
<!--设置mysql驱动-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--设置mysql的url-->
<property name="url" value="jdbc:mysql://loclahost:3306/mybatis"/>
<!--设置mysql的用户名-->
<property name="username" value="mybatis"/>
<!--设置mysql的密码-->
<property name="password" value="EzW8ccePcXABXyBR"/>
</dataSource>
</environment>
</environments>
</configuration>
常用配置
typealiases
typealiases
可以方便的给全类名
取别名,配置的顺序:(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)
xml
<typealiases>
<typealias type="com.xxx.pojo.User" name="user"></typealias>
</typeliases>
这样配置就可以在mapper中直接使用user
表示 com.xxx.pojo.User
如果不加 name
,那么默认就是用 类名
(user) 来作为别名,不区分大小写
package
和 typealias
作用相似,可以为包路径 下的所有类自动 添加别名(不区分大小写),没有type属性 ,只有name
xml
<package name="com.zxb.mybatis.pojo"/>
也可以用在 mappers
下
xml
<!--引入映射文件-->
<mappers>
<!--
以包为单位引入映射文件
要求:
1. mapper 接口所在的包要和映射文件所在的包一致
2. mapper 接口和映射文件的名字一致
-->
<package name="com.zxb.mybatis.mapper"/>
</mappers>
注意:package 是包路径,如果要映射配置需要给
mapper
添加别名,那么resources
下需要创建对应的文件夹,如下:
properties
properties
是一种专门用来写配置
的文件,它们之间通过等号(=)分隔,如下:
jdbc.properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=mybatis
jdbc.password=dafsadsfea
mybatis-config读取properties
在开发中,我们常常不会直接将数据库
等连接信息,直接写在代码中,而是写在properties的配置文件中,让配置文件直接读取
xml
<properties resource="jdbc.properties"/>
...
<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>