成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

myBatis框架demo

jerry / 1770人閱讀

摘要:我猜想框架源碼中通過工廠類封裝了數(shù)據(jù)庫的連接這些模板代碼,對象類似于我們在中使用的對象的封裝,在我們調(diào)用關閉這個對象時,框架幫你關閉數(shù)據(jù)庫連接之類的工作。

關于myBatis的介紹,我就多講了,主要寫下的內(nèi)容是代碼,還有一些我碰到的問題
1.配置文件Configuration.xml:






 
        
 



    
    
    
        
        
        
        
        
        
    




    


2.映射器xml文件 UserMapper.xml:








這兩步一般是使用myBatis框架都會做的事(好像很多內(nèi)容都可以在注解中做了,但是我對注解不是特別熟悉,就不嘗試了)。接下來如何在Java代碼中體現(xiàn)呢?
3.代碼程序訪問myBatis:

 1)類實現(xiàn):
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;

static{
    try{
        reader =Resources.getResourceAsReader("Configuration.xml");
        sqlSessionFactory =new SqlSessionFactoryBuilder().build(reader);
    }catch(Exception e){
        e.printStackTrace();
    }
}

     public User selectUserByID(int id){
    SqlSession session=sqlSessionFactory.openSession();
    User user;
    try{
        user=(User)session.selectOne("UserMapper.selectUserByID", id);
        System.out.println(user);
    }finally{
        session.close();
    }
    
    return user;
}

主要的內(nèi)容其實就是先加載Configuration.xml文件,然后創(chuàng)建一個SqlSessionFactory,利用這個工廠類創(chuàng)建session,通過session來訪問數(shù)據(jù)庫。我猜想框架源碼中通過工廠類封裝了數(shù)據(jù)庫的連接這些模板代碼,session對象類似于我們在jdbc中使用的statement對象的封裝,在我們調(diào)用close關閉這個session對象時,框架幫你關閉數(shù)據(jù)庫連接之類的工作。

   2)接口實現(xiàn):
public interface UserOperation {
      public User selectUserByID(int user_id);
}

沒錯,只用這一點代碼,調(diào)用時就用如下代碼就可以了

    SqlSession session =sqlSessionFactory.openSession();
    try{
        UserOperation userOperation =session.getMapper(UserOperation.class);
        User user =userOperation.selectUserByID(3);
        System.out.println(user);
        //session.commit();
        
    }finally{
        session.close();
    }

的確省去了很多不方便的數(shù)據(jù)庫連接代碼,我自己重構之前寫過的一些代碼,之前一個DAO類大概會有200行左右吧,用myBatis寫完之后大概會到100左右,我還想把一些公共的部分提取出來作為工具類,那樣會更少??傊€不錯。

在做demo的時候犯過的錯:
1.在使用類實現(xiàn)的時候傳遞多個參數(shù)到myBatis框架一直都不對,嘗試了網(wǎng)上的注解還是不可以,然后用接口實現(xiàn),完全沒有這個問題了,建議用接口
2.在寫映射器文件的時候,會有奇怪的問題,報出無法找到XX屬性,可以利用序號來在xml文件中可以利用序號傳遞參數(shù),這樣會避免這個問題

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/64985.html

相關文章

  • springboot (一)集成tkmapper

    摘要:整合想著每次搭建新項目時框架都要從新搭建,基本常用的也就哪幾種,現(xiàn)在就來搭建一種常用的后臺框架,以后新開小項目可以直接拿來使用項目整體結構圖新建空白項目,選中依賴略,也可以完全根據(jù)本人代碼操作文件依賴項展示 springboot整合tkMapper 想著每次搭建新項目時框架都要從新搭建,基本常用的也就哪幾種,現(xiàn)在就來搭建一種常用的springboot后臺框架,以后新開小項目可以直接拿來...

    Shihira 評論0 收藏0
  • Spring+Mybatis+Velocity配置

    摘要:新推出的,對新手是友好了,但是不利于了解這個框架,而且遇到問題能查的資料少綜上,我最后還是選擇了作為開發(fā)的標配,下面以配置作為示例依賴文件沒啥好講的,程序員都知道規(guī)定了有哪些顯式的,規(guī)定了最頂層的環(huán)境,是整個的綱領。 前言 最近開始嘗試使用久負盛名的SM框架——Spring+Mybatis進行Web開發(fā),從此走上了Spring配置的不歸路。說句實在話,Spring是我特么見過所有WE...

    shengguo 評論0 收藏0
  • Spring Boot 教程(三): Spring Boot 整合Mybatis

    摘要:教程簡介本項目內(nèi)容為教程樣例。目的是通過學習本系列教程,讀者可以從到掌握的知識,并且可以運用到項目中。 教程簡介 本項目內(nèi)容為Spring Boot教程樣例。目的是通過學習本系列教程,讀者可以從0到1掌握spring boot的知識,并且可以運用到項目中。如您覺得該項目對您有用,歡迎點擊收藏和點贊按鈕,給予支持!!教程連載中,歡迎持續(xù)關注! 環(huán)境 IDE: Eclipse NeonJa...

    Xufc 評論0 收藏0
  • 解密Mybatis,手寫Mybatis框架(一)

    摘要:核心流程三大階段縷清思路也就是核心流程之后,我們就開始寫代碼了,詳見下節(jié) Mybatis快速入門 步驟: 1.加入mybatis的依賴 2.添加Mybatis的配置文件 3.場景介紹 4.編寫實體類丶mapper接口及mapper.xml文件 5.編寫測試代碼 demo: public class TUser { private Integer id; priva...

    SunZhaopeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<