Mybatis(基于SqlSessionTemplate的实现) + Spring 练习实战

mybatis学习篇:上次使用映射接口实现Mybatis,有不方便指出就是需要接口,且需要保证接口上不能存在其他的代理。这次通过SqlSessionTemplate基于模板类实现Mybatis,总的来说就是1.建立pojo类,sql映射文件,2.Spring中装配,3.调用SqlSessionTemplate类访问数据库。这三个步骤:


一: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",可以写全路径,也可以通过配置文件简写。


二:Spring中装配

sample-mybatis.xml



          
    
        
	
	
	
	  
          
        
        
	
	
	
	   
           
	  
	
	
	
定义一个核心的SqlSessionFactoryBean实例,mybatis的核心管理类,通过dataSource指定数据源,configLocation代表mybatis的配置文件,mapperLocations指sql文件地址。注入SqlSessionTemplate的实例,构造方法初始化sqlSessionFactory。定义业务的实现类mybatisService。


三:调用sqlSessionTemplate

MybatisService.java:

package com.suning.mybatis;

import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;

//mabitis测试的业务类
public class MybatisService {

    @Autowired
    private SqlSessionTemplate sqlSessionTemplate;
    
    //获取市详情
    public City getCityDetail(String cityCode){
        return (City)sqlSessionTemplate.selectOne("city.selectCity", cityCode);
    }
}
通过自动注解,注入sqlSessionTemplate。city对应sql中命名空间,selectCity对应sql的ID,如图:

Mybatis(基于SqlSessionTemplate的实现) + Spring 练习实战_第1张图片


测试类MybatisMain.java:

package com.suning.mybatis;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MybatisMain {

    /**
     * 功能描述: 
* 〈功能详细描述〉 * * @param args * @see [相关类/方法](可选) * @since [产品/模块版本](可选) */ 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()); } }
sample-ds.xml为数据源配置文件。


log日志:


















你可能感兴趣的:(SSH框架)