国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

myBatis框架demo

jerry / 1769人閱讀

摘要:我猜想框架源碼中通過(guò)工廠(chǎng)類(lèi)封裝了數(shù)據(jù)庫(kù)的連接這些模板代碼,對(duì)象類(lèi)似于我們?cè)谥惺褂玫膶?duì)象的封裝,在我們調(diào)用關(guān)閉這個(gè)對(duì)象時(shí),框架幫你關(guān)閉數(shù)據(jù)庫(kù)連接之類(lèi)的工作。

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






 
        
 



    
    
    
        
        
        
        
        
        
    




    


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








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

 1)類(lèi)實(shí)現(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)容其實(shí)就是先加載Configuration.xml文件,然后創(chuàng)建一個(gè)SqlSessionFactory,利用這個(gè)工廠(chǎng)類(lèi)創(chuàng)建session,通過(guò)session來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。我猜想框架源碼中通過(guò)工廠(chǎng)類(lèi)封裝了數(shù)據(jù)庫(kù)的連接這些模板代碼,session對(duì)象類(lèi)似于我們?cè)趈dbc中使用的statement對(duì)象的封裝,在我們調(diào)用close關(guān)閉這個(gè)session對(duì)象時(shí),框架幫你關(guān)閉數(shù)據(jù)庫(kù)連接之類(lèi)的工作。

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

沒(méi)錯(cuò),只用這一點(diǎn)代碼,調(diào)用時(shí)就用如下代碼就可以了

    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ù)庫(kù)連接代碼,我自己重構(gòu)之前寫(xiě)過(guò)的一些代碼,之前一個(gè)DAO類(lèi)大概會(huì)有200行左右吧,用myBatis寫(xiě)完之后大概會(huì)到100左右,我還想把一些公共的部分提取出來(lái)作為工具類(lèi),那樣會(huì)更少??傊€不錯(cuò)。

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/64985.html

相關(guān)文章

  • springboot (一)集成tkmapper

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

    Shihira 評(píng)論0 收藏0
  • Spring+Mybatis+Velocity配置

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

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

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

    Xufc 評(píng)論0 收藏0
  • 解密Mybatis,手寫(xiě)Mybatis框架(一)

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

    SunZhaopeng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<