學習一個新的元件,一要看需要哪些JAR包,二要看需要哪些配置,三要看API如何使用。
0、準備Emp資料表
MySQL文法
Oracle文法
1、建立web工程,添加jar
需要的jar包包括三部分:mybatis的jar包、mybatis依賴的jar包、資料庫驅動包
我使用的mybatis版本是mybatis-3.2.7
mybatis
mybatis-3.2.7.jar
mybatis的依賴包
位于lib目錄下
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
log4j-1.2.17.jar
資料庫驅動
MySQL mysql-connector-java-5.1.38-bin.jar
或
Oracle ojdbc5.jar

log4j的配置檔案,放到src目錄下
log4j.properties
2、建立Emp.java
Emp.java
3、在entity包下添加EmpMapper.xml檔案
EmpMapper.xml
4、在src目錄下建立mybatis.xml檔案
mybatis.xml
5、在utils包下添加MyBatisUtils.java,并進行測試是否能夠連接配接資料庫
MyBatisUtils.java
MyBatisUtils工具類的作用
1)在靜态初始化塊中加載mybatis配置檔案和EmpMapper.xml檔案
2)使用ThreadLocal對象讓目前線程與SqlSession對象綁定在一起
3)擷取目前線程中的SqlSession對象,如果沒有的話,從SqlSessionFactory對象中擷取SqlSession對象
4)關閉SqlSession,首先擷取目前線程中的SqlSession對象,再将其關閉,釋放其占用的資源
6、在dao包下添加EmpDao.java,并進行測試
EmpDao.java
輸出:
7、MyBatis工作流程
1)通過Reader對象讀取src目錄下的mybatis.xml配置檔案(該檔案的位置和名字可以任意)
2)通過SqlSessionFactoryBuilder對象建立SqlSessionFactory對象
3)從目前線程中擷取SqlSession對象
4)事務開始,在mybatis中預設
5)通過SqlSession對象讀取EmpMapper.xml映射檔案中的操作編号,進而讀取sql語句
6)事務送出(必寫)
7)關閉SqlSession對象,并且分開目前線程與SqlSession對象,讓GC盡早回收