Mybatis環境搭建和編寫方法
一、mybatis簡介
1、Mybatis是一個基于java的持久層架構,主要用 來做資料庫的通路操作
(1) jdbc做資料通路操作缺點:
1)代碼備援大,開發效率低下
2)sql指令在java程式裡,如果sql發生改變會導緻代碼的重新編譯
3)所有O-R mapping的動作都需要手動完成
(2)Mybatis架構
架構:對現有代碼的合理封裝,便于後續重複使用,提高開發效率。
2、提供了一個映射檔案 – mapper檔案 (向mybatis提供功能要求)
interface AccountDao{
public void insertAccount(Account a);
}
//mybatis-- 通過mapper檔案完成功能,檔案字尾名為XML
<mapper namespace="包名.AccountDao"> -->所要實作的接口(全類名)
<insert id="insertAccount"> -->所要實作的方法名
insert into account values(...)
</insert>
</mapper>
//mybatis根據給定的mapper檔案自動生成相應的java類
二、環境搭建
1、引入mybatis需要的jar包
mybatis3.2.2.jar ojdbc5.jar log4j- 1.2.17.jar(列印日志)
2、為mybatis設定運作環境(通過配置檔案設定)
mybatis-config.xml放在src下
3、Mybatis的核心類
SqlSessionFactoryBuilder: 負責加載mybatis-config.xml檔案内容
SqlSessionFactory: 負責建構SqlSession
SqlSession: 一次資料庫會話,包含多次資料庫通路操作,相當于jdbc裡的Connection
三、第一個mybatis程式
- 建立表和實體類entity
- 定義dao接口
- 通過映射檔案實作dao接口
<mapper namespace="需要實作接口的全類名">
<insert id="本标簽需要實作接口裡的方法名" parameterType="方法參數的類型如果是對象要寫全類名">
insert sql指令(指令裡通過#{對象屬性名}擷取對象屬性)
</mapper>
4. 将映射檔案配置到mybatis-config.xml檔案中(通知mybatis有一個映射
<mappers>
<mapper resource="此處需要映射檔案路徑,從src下開始寫"> </mapper>
</mappers>
5、編寫測試類,測試dao功能
① 得到SqlSession
② 得到dao的實作類
③ 調用insert方法完成插入