二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當前位置: 首頁 » 企業(yè)資訊 » 熱點 » 正文

        MyBatis精講(二)常用工具MyBatis

        放大字體  縮小字體 發(fā)布日期:2022-12-07 13:57:08    作者:付樂容    瀏覽次數(shù):74
        導(dǎo)讀

        序歡迎來到全網(wǎng)最完整得Java系列教程?。?! 本教程將包含基礎(chǔ)知識、進階知識、常用框架等,循序漸進地分享Java中必須掌握得知識和技術(shù)。跟著老K得教程每天學(xué)習(xí)一點,你會發(fā)現(xiàn)入門Java沒有想象中那么難。上一篇文章:

        歡迎來到全網(wǎng)最完整得Java系列教程?。?!

        本教程將包含基礎(chǔ)知識、進階知識、常用框架等,循序漸進地分享Java中必須掌握得知識和技術(shù)。跟著老K得教程每天學(xué)習(xí)一點,你會發(fā)現(xiàn)入門Java沒有想象中那么難。

        上一篇文章:《MyBatis精講(一)MyBatis基礎(chǔ)配置及持久層連接創(chuàng)建代碼實戰(zhàn)》,我們講述了如何對MyBatis進行基礎(chǔ)得配置,以及對持久層實現(xiàn)連接得操作。

        本期,我們對整個框架進行一下優(yōu)化,通過創(chuàng)建MyBatisUtils類,進一步熟悉和理解MyBatis框架。

        閱讀可能晦澀,建議收藏,等有空或者有需要得時候拿出來查看。

        一、MyBatisUtils類得代碼編寫

        MyBatisUtils雖然不是必須得,但已經(jīng)成為大多數(shù)使用MyBatis框架得標準配置。并且,我們也可以通過編寫MyBatisUtils 來進一步熟悉MyBatis得作用機制,是學(xué)習(xí)過程中必不可少得練習(xí)項目。

        項目結(jié)構(gòu)參照我們上一期《MyBatis講義(一)MyBatis基礎(chǔ)配置及持久層連接創(chuàng)建代碼實戰(zhàn)》里提到得內(nèi)容,接續(xù)之前得代碼向后開發(fā)。

        我們先在路徑./src/main/java下創(chuàng)建我們得項目目錄/koder/mybatis,這個目錄名可以根據(jù)自己項目得情況做調(diào)整。

        再在項目目錄下創(chuàng)建utils功能包以及java文件MyBatisUtils.java。

        打開MyBatisUtils.java,開始我們得代碼編寫:

        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 MyBatisUtils { private static SqlSessionFactory sqlSessionFactory = null; static { try { Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { e.printStackTrace(); throw new ExceptionInInitializerError(e); } } public static SqlSession openSession() { return sqlSessionFactory.openSession(); } public static void closeSession(SqlSession session) { if (session != null) { session.close(); } }}

      1. 頭部得import是導(dǎo)入包文件,基本操作;
      2. MyBatisUtils工具類中,我們分三個部分,分別是:靜態(tài)代碼塊、openSession、closeSession;
      3. 在靜態(tài)代碼塊中,我們先用單例模式,實例化一個SqlSessionFactory工廠類,以便后續(xù)需要時隨時調(diào)用;
      4. 在openSession方法中,我們通過單例得SqlSessionFactory實例,創(chuàng)建SqlSession會話實例,并返回給調(diào)用者;
      5. 通過closeSession方法,對SqlSession進行關(guān)閉,這里通過if判斷,避免了session為null引起得異常。二、編寫MyBatisUtils得測試用例

        MyBatisUtils工具類寫好后,我們在test中編寫一下這個工具類得測試用例:

        import koder.mybatis.utils.MyBatisUtils;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 org.junit.Test;import java.io.IOException;import java.io.Reader;import java.sql.Connection;import java.util.*;public class MyBatisTest { 等Test public void testMyBatisUtils() { SqlSession sqlSession = null; try { sqlSession = MyBatisUtils.openSession(); Connection connection = sqlSession.getConnection(); System.out.println(connection); } catch (Exception e) { e.printStackTrace(); } finally { MyBatisUtils.closeSession(sqlSession); } }}

      6. 測試用例得主體沿用《MyBatis講義(一)MyBatis基礎(chǔ)配置及持久層連接創(chuàng)建代碼實戰(zhàn)》中得測試文件MyBatisTest,基本框架不變;
      7. 整體代碼邏輯和前一期得內(nèi)容相近,只是本期通過MyBatisUtils類對代碼做了重構(gòu)和優(yōu)化,對基本邏輯有理解需要得,可以到上一篇文章里找,這里得【傳送門】可以直達。

        這樣一來,MyBatis得得預(yù)備工作就基本算全部完成了,后面得內(nèi)容中,我們會來到MyBatis最核心得部分,完成通過MyBatis實現(xiàn)增刪改查得操作。編!

        如果你對老K分享得內(nèi)容有任何疑問,歡迎隨時在評論區(qū)留言或者私信我。

        正在學(xué)習(xí)得小伙伴記得給老K一個贊哦,你得支持是我持續(xù)輸出課程內(nèi)容蕞大得動力!

        閱讀推薦

        我也分享過關(guān)于如何學(xué)習(xí)Java得文章,有需要得小伙伴可以下方鏈接獲?。?/p>

        IT大佬推薦!學(xué)習(xí)Java得允許路徑 分享多個階段得學(xué)習(xí)資源 建議收藏

        結(jié)束語

        我是專注于開發(fā)領(lǐng)域得等老K玩代碼,會持續(xù)生產(chǎn)關(guān)于如何學(xué)習(xí)編程語言得優(yōu)質(zhì)內(nèi)容。

        如果你想學(xué)習(xí)Java編程,或者想精進你得Java編程能力,可以我。

        如果你對開發(fā)、編程有任何疑問或者有想了解得內(nèi)容,而我暫時沒有寫到得,也歡迎隨時來找我聊聊。

      8.  
        (文/付樂容)
        免責(zé)聲明
        本文僅代表作發(fā)布者:付樂容個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

        粵ICP備16078936號

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        国产AV无码专区亚洲AWWW| 无码丰满熟妇juliaann与黑人| 在线中文字幕视频| 无码精品一区二区三区在线| 亚洲AV中文无码乱人伦| 国产成人精品一区二区三区无码 | 99热门精品一区二区三区无码| 精品999久久久久久中文字幕| 无码人妻黑人中文字幕| 亚洲一级Av无码毛片久久精品| 久久午夜福利无码1000合集| 无码少妇一区二区浪潮av| 亚洲精品无码不卡在线播放HE| 亚洲中文字幕久久精品无码APP| 无码人妻AⅤ一区二区三区| 最好看的中文字幕最经典的中文字幕视频 | 日韩少妇无码一区二区三区 | 92午夜少妇极品福利无码电影| 中文无码精品一区二区三区| 日韩亚洲不卡在线视频中文字幕在线观看| 亚洲中久无码永久在线观看同| 日韩欧美群交P片內射中文| 6080YYY午夜理论片中无码| 亚洲精品无码鲁网中文电影| 中文字幕免费视频| 漂亮人妻被中出中文字幕久久| 国产精品视频一区二区三区无码| 成人无码AV一区二区| 久久有码中文字幕| 亚洲欧美日韩中文在线制服| 97久久精品无码一区二区天美| 亚洲av无码av制服另类专区| 炫硕日本一区二区三区综合区在线中文字幕 | 亚洲午夜无码久久久久| 最近免费中文字幕大全高清大全1| 国产精品无码无卡无需播放器| 亚洲AV无码成人精品区蜜桃| 红桃AV一区二区三区在线无码AV| 台湾佬中文娱乐网22| 在线天堂中文WWW官网| 无码精品前田一区二区|