二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁(yè) » 企業(yè)資訊 » 熱點(diǎn) » 正文

        MyBatis精講(二)常用工具M(jìn)yBatis

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

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

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

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

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

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

        閱讀可能晦澀,建議收藏,等有空或者有需要得時(shí)候拿出來(lái)查看。

        一、MyBatisUtils類得代碼編寫(xiě)

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

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

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

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

        打開(kāi)MyBatisUtils.java,開(kāi)始我們得代碼編寫(xiě):

        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工具類中,我們分三個(gè)部分,分別是:靜態(tài)代碼塊、openSession、closeSession;
      3. 在靜態(tài)代碼塊中,我們先用單例模式,實(shí)例化一個(gè)SqlSessionFactory工廠類,以便后續(xù)需要時(shí)隨時(shí)調(diào)用;
      4. 在openSession方法中,我們通過(guò)單例得SqlSessionFactory實(shí)例,創(chuàng)建SqlSession會(huì)話實(shí)例,并返回給調(diào)用者;
      5. 通過(guò)closeSession方法,對(duì)SqlSession進(jìn)行關(guān)閉,這里通過(guò)if判斷,避免了session為null引起得異常。二、編寫(xiě)MyBatisUtils得測(cè)試用例

        MyBatisUtils工具類寫(xiě)好后,我們?cè)趖est中編寫(xiě)一下這個(gè)工具類得測(cè)試用例:

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

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

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

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

        閱讀推薦

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

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

        結(jié)束語(yǔ)

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

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

        如果你對(duì)開(kāi)發(fā)、編程有任何疑問(wèn)或者有想了解得內(nèi)容,而我暫時(shí)沒(méi)有寫(xiě)到得,也歡迎隨時(shí)來(lái)找我聊聊。

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

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

        粵ICP備16078936號(hào)

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號(hào): weishitui

        客服001 客服002 客服003

        工作時(shí)間:

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

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 精品亚洲A∨无码一区二区三区| 国产剧情一区二区| 成人国内精品久久久久一区 | www.亚洲一区| 久久精品亚洲一区二区| 丰满人妻一区二区三区视频| 亚洲av成人一区二区三区| 久久无码人妻精品一区二区三区 | 人妻av无码一区二区三区| 秋霞鲁丝片一区二区三区| 亚洲天堂一区二区三区| 亚洲日韩精品一区二区三区无码| 国产一区二区三区在线观看免费| 国产一区视频在线| 精品亚洲福利一区二区| 人妻在线无码一区二区三区| 肉色超薄丝袜脚交一区二区| 国产一区二区三精品久久久无广告| 国产成人AV区一区二区三| 亚洲精品伦理熟女国产一区二区| 色噜噜狠狠一区二区三区果冻| 精品成人一区二区三区四区| 欲色影视天天一区二区三区色香欲 | 亚洲狠狠久久综合一区77777| 手机看片福利一区二区三区| 国产亚洲情侣一区二区无| 亚洲国产成人精品久久久国产成人一区二区三区综 | 日韩视频一区二区| 奇米精品视频一区二区三区| 日韩精品无码一区二区三区| 中文字幕精品一区二区日本| 久久久精品人妻一区二区三区四| 亚洲伦理一区二区| 亚洲熟妇无码一区二区三区| 成人一区专区在线观看| 国产精品第一区揄拍无码| 丰满人妻一区二区三区视频| 精品国产日产一区二区三区| 乱子伦一区二区三区| 亚洲中文字幕一区精品自拍| 精品国产区一区二区三区在线观看 |