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

資訊專欄INFORMATION COLUMN

Mybatis(基于SqlSessionTemplate的實(shí)現(xiàn)) + Spring 練習(xí)實(shí)戰(zhàn)

xingpingz / 2499人閱讀

摘要:學(xué)習(xí)篇上次使用映射接口實(shí)現(xiàn),有不方便指出就是需要接口,且需要保證接口上不能存在其他的代理。這次通過(guò)基于模板類實(shí)現(xiàn),總的來(lái)說(shuō)就是建立類映射文件,中裝配,調(diào)用類訪問(wèn)數(shù)據(jù)庫(kù)。定義業(yè)務(wù)的實(shí)現(xiàn)類三調(diào)用測(cè)試的業(yè)務(wù)類獲取市詳情通過(guò)自動(dòng)注解,注入。

mybatis學(xué)習(xí)篇:上次使用映射接口實(shí)現(xiàn)Mybatis,有不方便指出就是需要接口,且需要保證接口上不能存在其他的代理。這次通過(guò)SqlSessionTemplate基于模板類實(shí)現(xiàn)Mybatis,總的來(lái)說(shuō)就是1.建立pojo類,sql映射文件,2.spring中裝配,3.調(diào)用SqlSessionTemplate類訪問(wèn)數(shù)據(jù)庫(kù)。這三個(gè)步驟:

一:sql映射文件
City.java

package com.suning.schema.mabatisInterface;  
  
import java.io.Serializable;  
  
public class City implements Serializable{  
      
    /** 
     */  
    private static final long serialVersionUID = 1L;  
    private String provinceCode;  
    private String cityCode;  
    private String cityName;  
      
    public String getProvinceCode() {  
        return provinceCode;  
    }  
    public void setProvinceCode(String provinceCode) {  
        this.provinceCode = provinceCode;  
    }  
    public String getCityCode() {  
        return cityCode;  
    }  
    public void setCityCode(String cityCode) {  
        this.cityCode = cityCode;  
    }  
    public String getCityName() {  
        return cityName;  
    }  
    public void setCityName(String cityName) {  
        this.cityName = cityName;  
    }  
}  

sqlMap_city.xml:

    
    
    
      
  

定義命名空間namespace為city,sql的ID為selectCity,其中resultType="city",可以寫(xiě)全路徑,也可以通過(guò)配置文件簡(jiǎn)寫(xiě)。
二:Spring中裝配
sample-mybatis.xml

  
  
            
      
          
      
      
      
        
            
          
          
      
      
      
         
             
        
      
      
      
  

定義一個(gè)核心的SqlSessionFactoryBean實(shí)例,mybatis的核心管理類,通過(guò)dataSource指定數(shù)據(jù)源,configLocation代表mybatis的配置文件,mapperLocations指sql文件地址。注入SqlSessionTemplate的實(shí)例,構(gòu)造方法初始化sqlSessionFactory。定義業(yè)務(wù)的實(shí)現(xiàn)類mybatisService

三:調(diào)用sqlSessionTemplate
MybatisService.Java:

package com.suning.mybatis;  
  
import org.mybatis.spring.SqlSessionTemplate;  
import org.springframework.beans.factory.annotation.Autowired;  
  
//mabitis測(cè)試的業(yè)務(wù)類  
public class MybatisService {  
  
    @Autowired  
    private SqlSessionTemplate sqlSessionTemplate;  
      
    //獲取市詳情  
    public City getCityDetail(String cityCode){  
        return (City)sqlSessionTemplate.selectOne("city.selectCity", cityCode);  
    }  
} 

通過(guò)自動(dòng)注解,注入sqlSessionTemplate。city對(duì)應(yīng)sql中命名空間,selectCity對(duì)應(yīng)sql的ID,如圖:

測(cè)試類MybatisMain.java

package com.suning.mybatis;  
  
import org.springframework.beans.factory.BeanFactory;  
import org.springframework.context.support.ClassPathXmlApplicationContext;  
  
public class MybatisMain {  
  
    /** 
     * 功能描述: 
* 〈功能詳細(xì)描述〉 * * @param args * @see [相關(guān)類/方法](可選) * @since [產(chǎn)品/模塊版本](可選) */ public static void main(String[] args) { BeanFactory factory = new ClassPathXmlApplicationContext(new String[] { "classpath:conf/spring/sample-mybatis.xml", "classpath:conf/spring/sample-ds.xml" }); MybatisService test = (MybatisService) factory.getBean("mybatisService"); City cityDetail = (City) test.getCityDetail("560"); System.out.println("cityCode:560代表的城市為" + cityDetail.getCityName()); } }

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66810.html

相關(guān)文章

  • 新手也能實(shí)現(xiàn),基于SpirngBoot2.0+ SpringBoot+Mybatis 多數(shù)據(jù)源配

    摘要:下面基于,帶著大家看一下中如何配置多數(shù)據(jù)源。注意版本不一致導(dǎo)致的一些小問(wèn)題。配置配置兩個(gè)數(shù)據(jù)源數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)注意事項(xiàng)在配置數(shù)據(jù)源的過(guò)程中主要是寫(xiě)成和。五啟動(dòng)類此注解表示啟動(dòng)類這樣基于的多數(shù)據(jù)源配置就已經(jīng)完成了,兩個(gè)數(shù)據(jù)庫(kù)都可以被訪問(wèn)了。 在上一篇文章《優(yōu)雅整合 SpringBoot+Mybatis ,可能是你見(jiàn)過(guò)最詳細(xì)的一篇》中,帶著大家整合了 SpringBoot 和 Mybatis...

    shiina 評(píng)論0 收藏0
  • MyBatis原理

    摘要:不是線程安全的,所以在使用的時(shí)候一定要保證他是局部變量。他對(duì)應(yīng)的類圖如下有幾種常見(jiàn)的實(shí)現(xiàn)是默認(rèn)的非線程安全的實(shí)現(xiàn)是中對(duì)的線程安全實(shí)現(xiàn),在內(nèi)部是使用的的形式來(lái)保證線程安全的是的核心。是線程安全的,可以被多個(gè)或映射器所共享使用。 MyBatis核心類 SqlSessionFactory 每一個(gè)MyBatis應(yīng)用都是以一個(gè)SqlSessionFactory的實(shí)例為核心構(gòu)建的。SqlSessi...

    Yu_Huang 評(píng)論0 收藏0
  • Spring中接口動(dòng)態(tài)實(shí)現(xiàn)解決方案

    摘要:聲明解決方案是基于源碼,進(jìn)行二次開(kāi)發(fā)實(shí)現(xiàn)。其是基于層面,不存在任何的接口實(shí)現(xiàn)類。因而在實(shí)現(xiàn)的過(guò)程中,首先要解決的是如何動(dòng)態(tài)實(shí)現(xiàn)接口的實(shí)例化。其次是如何將使接口根據(jù)注解實(shí)現(xiàn)相應(yīng)的功能。 聲明解決方案是基于Mybatis源碼,進(jìn)行二次開(kāi)發(fā)實(shí)現(xiàn)。 問(wèn)題領(lǐng)導(dǎo)最近跟我提了一個(gè)需求,是有關(guān)于實(shí)現(xiàn)類Mybatis的@Select、@Insert注解的功能。其是基于interface層面,不存在任何的...

    ispring 評(píng)論0 收藏0
  • Spring-Mybatis運(yùn)行機(jī)制概括

    摘要:使用這個(gè)類庫(kù)中的類將會(huì)加載必要的工廠類和類。最終它并不會(huì)依賴于或來(lái)構(gòu)建應(yīng)用程序代碼。下面對(duì)各部分作用總結(jié)下。和無(wú)縫整合的機(jī)制和的認(rèn)識(shí)在講如何無(wú)縫整合進(jìn)之前,我們先認(rèn)識(shí)下和這兩個(gè)接口的作用。附上上篇博文地址原理概括。 前言 本篇是繼上篇MyBatis原理概括延伸的,所以如果有小伙伴還沒(méi)看上篇博文的話,可以先去看下,也不會(huì)浪費(fèi)大家太多的時(shí)間,因?yàn)楸酒獣?huì)結(jié)合到上篇敘述的相關(guān)內(nèi)容。 好,切入正...

    qieangel2013 評(píng)論0 收藏0
  • mybatis-spring原理解析

    摘要:創(chuàng)建出的是對(duì)象,持有這個(gè)對(duì)象。根據(jù)接口名和方法名從對(duì)象的中檢查并獲取方法對(duì)應(yīng)的語(yǔ)句解析成的對(duì)象,保存它的和命令類型。實(shí)現(xiàn)類攔截映射接口的自定義方法,讓去處理方法對(duì)應(yīng)的解析成的。 前言 Mybatis是目前主流的Java ORM框架之一。mybatis-spring包則是為了讓Mybatis更好得整合進(jìn)Spring的衍生產(chǎn)品。本文就從Mybatis和mybatis-spring源碼著手,...

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

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

0條評(píng)論

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