MyBatis3学习笔记(曹锋老师版)
第2讲
这一讲主要讲解了 Mybatis 的主配置文件。
下面是一个示例的配置文件:
<?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>
1、environments 表示环境:支持多个环境可以任意配置,开发环境、测试环境、正式环境。
修改 default 属性。
2、事务管理器。
用来配置数据源,类型有:UNPOOLED,POOLED,JNDI。
UNPOOLED,没有连接池,每次数据库操作,MyBatis 都会创建一个新的连接,用完后,关闭;适合小并发
项目;
POOLED,用上了连接池;
JNDI,使用应用服务器配置JNDI 数据源获取数据库连接;
(1)UNPOOLED:没有连接池,每次数据库操作,MyBatis 都会创建一个新的连接,用完后,关闭;适合小并发项目;
(2)POOLED:使用了连接池,适用于大并发的环境。
(3)JNDI:使用应用服务器配置JNDI 数据源获取数据库连接。
4、配置属性
可以使用外部文件定义,也可以直接定义在配置文件里面。
5、配置别名
可以使用 package 包扫描,这是最佳实践。
6、mappers 引入映射的配置文件。
亦可以使用 package 进行配置。这是最佳实践。
class:
resource:这是使用接口写 SQL 的时候使用。
url:不推荐。
7、配置 log4j 日志文件。
(1)导入log4j的jar包;
(2)导入配置文件在src目录下,参考的配置文件如下:
log4j.rootLogger=info,appender1,appender2 log4j.appender.appender1=org.apache.log4j.ConsoleAppender 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
(3)以后我们不推荐使用System.out.println();这种方式输出打印消息。下面是参考代码:
// 注册一个 Logger,也叫做日志记录器 private static Logger logger=Logger.getLogger(StudentTest.class); public static void main(String[] args) { SqlSession sqlSession=SqlSessionFactoryUtil.openSession(); StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class); Student student=new Student("李四",11); int result=studentMapper.add(student); sqlSession.commit(); if(result>0){ // 使用这种方式输出日志信息 logger.info("添加成功!"); } }