12mybatis核心配置文件

核心配置文件

配置文件

<?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>
	<!--各种配置-->
</configuration>

主要配置有

properties 加载外部properties文件
settings 设置
typeAliases	类型别名:权限定类名-别名
typeHandlers 类型处理器:java和数据库之间类型转换
plugins 插件:集成第三方插件
environments 环境:配置数据源环境
	environment 环境变量
		transactionManager 事务处理器
		dataSource 数据源
mappers 映射器:加载映射文件

environments

<environments default="developement"> <!--指定默认环境-->
    <environment id="developement"> <!--环境id-->
        <transactionManager type="JDBC"/> <!--事务管理器类型是JDBC-->
        <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>
    </environment>
</environments>

transcationManager事务管理器类型有两种

  • JDBC:直接使用JDBC的提交和回滚设置
  • MANAGED:从来不提交和回滚事务,所以一般不用。

dataSource数据源类型

  • UNPOOLED:不适用连接池,每次请求都打开和关闭连接
  • POOLED:使用连接池
  • JNDI:为了能在EJB或者应用服务器这类容器中使用(先不讲)

mappers

mappers映射器,加载映射文件

<mappers>
	<mapper resource="UserMapper.xml"/>
</mappers>

其中加载映射文件方式如下:

  • 映射文件的相对资源路径:<mapper resource="xx/xx/UserMapper.xml"/>
  • 还有其它加载方式,先不讲

properties

一般习惯将数据源的配置信息单独抽取成一个properties文件,该标签可以加载properties配置文件

<properties resource="jdbc.properties"/>
<environments default="developement"> <!--指定默认环境-->
    <environment id="developement"> <!--环境id-->
        <transactionManager type="JDBC"/> <!--事务管理器类型是JDBC-->
        <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>
    </environment>
</environments>

typeAliases

类型别名:将Java全限定类名用一个短的名字代替。如果用一个别名代替,那么在映射文件中可以使用别名。如将java.lang.Integer命名为int

<delete id="delete" parameterType="int">
	delete from user where id=#{id}
</delete>

在Mybatis中,已经有许多设置好的别名,如:

string->String类型
long->Long类型
int->Integer类型

在核心配置文件中自定义别名:(一般放在核心配置文件前面,避免别的配置提前调用)

<typeAliases>
    <typeAlias type="com.baidu.domain.User" alias="user"/>
</typeAliases>
原文地址:https://www.cnblogs.com/mingriyingying/p/13639592.html