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

資訊專欄INFORMATION COLUMN

解密Mybatis,手寫Mybatis框架(一)

SunZhaopeng / 1404人閱讀

摘要:核心流程三大階段縷清思路也就是核心流程之后,我們就開始寫代碼了,詳見下節

Mybatis快速入門

步驟

1.加入mybatis的依賴

2.添加Mybatis的配置文件

3.場景介紹

4.編寫實體類丶mapper接口及mapper.xml文件

5.編寫測試代碼

demo:

public class TUser {
    private Integer id;

    private String userName;

    private String realName;

    private Byte sex;

    private String mobile;

    private String email;

    private String note;

    private Integer positionId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public Byte getSex() {
        return sex;
    }

    public void setSex(Byte sex) {
        this.sex = sex;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Integer getPositionId() {
        return positionId;
    }

    public void setPositionId(Integer positionId) {
        this.positionId = positionId;
    }
      
}

mapper接口:

public interface TUserMapper {
    
    TUser selectByPrimaryKey(Integer id);
    
}

TUserMapper.xml:

    



    


mybatis-config.xml:





    

    
        

        
        

        

        
        
    
    
    
    
    


    
    
        
        
            
            
                
                
                
                
            
        

    

    


    
        
    



db.properties:

jdbc_driver=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
jdbc_username=root
jdbc_password=qq997921

測試類:

public class MybatisQuickStart {

private SqlSessionFactory sqlSessionFactory;



@Test
// 快速入門
public void quickStart() throws IOException {
    //-------------第一階段-------------
    // 1.讀取mybatis配置文件創SqlSessionFactory
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    inputStream.close();
    //-------------第二階段-------------
    // 2.獲取sqlSession
    SqlSession sqlSession = sqlSessionFactory.openSession();
    // 3.獲取對應mapper
    TUserMapper mapper = sqlSession.getMapper(TUserMapper.class);

    //-------------第三階段-------------
    // 4.執行查詢語句并返回結果
    TUser user = mapper.selectByPrimaryKey(1);
    System.out.println(user.toString());

}

}

Mybatis兩種編程模型

1.封裝了iBatis編程模型,使用sqlSession對外提供數據庫的訪問
比如使用sqlSession直接訪問數據庫,代碼如:

User user1 = session.selectOne("com.XX.XX.XXMapper.selectOneByKey","1");

2.使用mapper接口編程,就可以訪問數據庫

UserMapper userMapper = session.getMapper(UserMapper.class);
User user = userMapper.selectByPrimaryKey(1);

對比兩種模型
第一種缺點:代碼里面會很多硬編碼,硬編碼不好維護,代碼不優雅,并且selectOne方法名稱沒有業務含義.

優先選擇mapper接口編程。

Mybatis核心流程三大階段

縷清思路也就是Mybatis核心流程之后,我們就開始寫代碼了,詳見下節~~

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74454.html

相關文章

  • 解密Mybatis,手寫Mybatis框架(二)

    摘要:三大巨頭結果集再通過反射機制映射到對象上面,便做好了數據的映射關于映射具體內容可查閱資料及源碼到這我們已經完成了一個簡易的框架了通過手寫一個簡單的框架,我們就可以看得懂源碼了,學習框架設計的思路并且增強我們的內功 簡化版Mybatis實現思路 1.創建SqlSessionFactory實例. 2.實例化過程中,加載配置文件創建configuration對象. 3.通過factory創...

    chuyao 評論0 收藏0
  • Web開發框架推導

    摘要:邊界清晰,有利于理解開發測試和部署。前后端分離考慮到目前開發流行前后端分離,為了適應潮流,引入前后端分離的約束。該請求被接受處理,但是該處理是不完整的。 本文欲回答這樣一個問題:在 「特定環境 」下,如何規劃Web開發框架,使其能滿足 「期望 」? 假設我們的「特定環境 」如下: 技術層面 使用Java語言進行開發 通過Maven構建 基于SpringBoot 使用Intelli...

    vpants 評論0 收藏0
  • 教你手寫Mybatis框架

    摘要:前言嗨,小伙伴們,這篇博文將帶大家手寫,讓大家對的核心原理以及工作流程有更加深刻的理解。模塊顧名思義,就是框架配置類,用于解析配置文件加載相關環境。配置模塊這里的對框架的配置使用了簡單的,主要原因還是簡單易懂然后節省時間。 前言 (????)??嗨,小伙伴們,這篇博文將帶大家手寫mybatis,讓大家對mybaits的核心原理以及工作流程有更加深刻的理解。在上篇Spring-Mybat...

    antyiwei 評論0 收藏0
  • 開源框架解析,手寫MyBatis細節思路

    摘要:基本綱要組成動態配置配置核心源碼分析源碼解析源碼解析源碼解析源碼解析手寫框架是什么本質是一種半自動的框架,前身是其源于和的組合,除了和映射關系之外,還需要編寫語句映射三要素映射規則快速入門加入的依賴添加的配置文件場景介紹編寫實體類接口以及文 showImg(https://segmentfault.com/img/bVblrnC); Mybatis基本綱要 Mybatis組成 · 動態...

    paulli3 評論0 收藏0
  • 分布式軟件架構整合(

    摘要:通過整合及可以實現數據庫查詢后將數據持久化。但是可能出現幻像讀這是花費最高代價但是最可靠的事務隔離級別。事務被處理為順序執行。 所需技術:spring、mybatis、druid、flyway、logback、nodejs、html、css3 ;目標:創建一個業務框架,后端采用spring+mybatis,中間層采用node,前端html5,css3等; showImg(https:/...

    mochixuan 評論0 收藏0

發表評論

0條評論

SunZhaopeng

|高級講師

TA的文章

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