pom.xml中的坐標
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
log4j.properties
log4j.rootLogger=DEBUG, stdout # SqlMap logging configuration... log4j.logger.com.ibatis=DEBUG log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG log4j.logger.com.ibatis.sqlmap.engine.cache.CacheModel=DEBUG log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=DEBUG log4j.logger.com.ibatis.sqlmap.engine.builder.xml.SqlMapParser=DEBUG log4j.logger.com.ibatis.common.util.StopWatch=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
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>
<!-- 自動掃描實體類起別名 -->
<typeAliases>
<package name="com.baizhi.dao"/>
</typeAliases>
<!-- 數據庫環境設置 ,可以配置多個環境設置
屬性 default:指定當前使用的數據庫環境
-->
<environments default="db1">
<!-- 一個數據庫環境的設置
id 當前環境的唯一標識
-->
<environment id="db1">
<!-- 事務控制機制
type: JDBC
MANAGER 交給第三方軟件處理事務
-->
<transactionManager type="JDBC"></transactionManager>
<!-- 連接池設置
type : POOLED 使用數據庫連接池
UNPOOLED 不使用數據庫連接池
-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/alex?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 注冊所有mapper.xml -->
<!-- <mapper resource="com/baizhi/dao/EmpDaoMapper.xml"/> -->
<!-- 自動掃描包,自動注冊mapper.xml
要求 dao接口對應的xml文件,名字必須相同-->
<package name="com.baizhi.dao"/>
</mappers>
</configuration>
MyBatiusUtil
package com.baizhi.util; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.Reader; public class MyBatisUtil { private static SqlSessionFactory ssf; static { try { //讀取主配置文件 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); //創建sqlsessionfactory(sqlsession工廠) ssf = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { throw new RuntimeException(e); } } public static SqlSession getSqlSession() { //通過ssf獲取sqlsession SqlSession sqlSession = null; sqlSession = ssf.openSession(); return sqlSession; } //先判斷sqlsession不是空再關 public static void close(SqlSession sqlSession) { if(sqlSession!=null) { sqlSession.close(); } } }
