一:environments
MyBatis 支持多个环境,可以任意配置;
二:transactionManager
MyBatis 支持两种类型的事务管理器:JDBC 和 MANAGED(托管); JDBC:应用程序负责管理数据库连接的生命周期; MANAGED:由应用服务器负责管理数据库连接的生命周期;(一般商业服务器才有此功能,如 JBOSS,WebLogic)
我们开发一般用tomcat对应的JDBC,MANAGED是商用的。
三:dataSource
用来配置数据源;类型有:UNPOOLED,POOLED,JNDI;
UNPOOLED,没有连接池,每次数据库操作,MyBatis 都会创建一个新的连接,用完后,关闭;适合小并发 目; POOLED,用上了连接池;
JNDI,使用应用服务器配置 JNDI 数据源获取数据库连接;
四:properties
配置属性有两种方式,例子中第一种 jdbc.properties文件应为:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_mybatis
jdbc.username=root
jdbc.password=123456
实际开发中用第二种,比较简洁
五:typeAliases
给类的完成限定名取别名,方便使用;
配置别名也有两种方法,第一种是一个一个的写,第二种是取package包名,扫描包内的所有类。实际开发中用第二种,具体看下面的例子。
六:mappers
引入映射文件,常用的有三种,recourse,class,name。
小项目用前面两种,大项目用最后一种。
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>
<!--配置属性-->
<!-- <properties resource="jdbc.properties"/> -->
<properties>
<property name="jdbc.driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="jdbc.url" value="jdbc:mysql://localhost:3306/db_mybatis"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="123456"/>
</properties>
<!--配置别名-->
<!-- <typeAliases>
<typeAlias alias="Student" type="com.java1234.model.Student"/>
</typeAliases> -->
<typeAliases>
<package name="com.java1234.model"/>
</typeAliases>
<environments default="development">
<!-- 开发环境 -->
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
<!-- 测试环境 -->
<environment id="test">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!--映入映射文件-->
<mappers>
<!-- <mapper resource="com/java1234/mappers/StudentMapper.xml" /> -->
<!-- <mapper class="com.java1234.mappers.StudentMapper"/> -->
<package name="com.java1234.mappers"/>
</mappers>
</configuration>
七:配置 Log4j 日志
如下实例:
<!--定义两个目标-->
log4j.rootLogger=info,appender1,appender2
<!--appender1是控制台输出-->
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
<!--appender1是文件输出,并指定文件路径-->
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=C:/logFile.txt
<!--指定类型-->
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout