Mybatis(基于SqlSessionTemplate的实现) + Spring 练习实战
来源:互联网 发布:韩国裸妆化妆步骤知乎 编辑:程序博客网 时间:2024/05/16 02:59
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:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="city"> <select id="selectCity" parameterType="java.lang.String" resultType="City"> SELECT PROVINCE_CODE AS "provinceCode", CITY_CODE AS "cityCode", CITY_NAMEAS "cityName" FROM PUMS_CITY C WHERE C.CITY_CODE = #{cityCode} </select> </mapper>定义命名空间namespace为city,sql的ID为selectCity,其中resultType="city",可以写全路径,也可以通过配置文件简写。
二:Spring中装配
sample-mybatis.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" > <!-- autowised注解,注入Bean 等同 <context:component-scan base-package=”XX.XX”/>--><context:annotation-config /><!-- 基于sqlSessionTemplate的mybatis配置 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:conf/spring/mybatisConfig.xml"/> <property name="mapperLocations" value="classpath:conf/sqlMapMybatis/sqlMap_city.xml"/></bean><!-- sqlSessionTemplate配置 --><bean id="sqlSession"class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> </bean> <bean id="mybatisService" class="com.suning.mybatis.MybatisService"></bean></beans>定义一个核心的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,如图:
测试类MybatisMain.java:
package com.suning.mybatis;import org.springframework.beans.factory.BeanFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;public class MybatisMain { /** * 功能描述: <br> * 〈功能详细描述〉 * * @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日志:
1 0
- Mybatis(基于SqlSessionTemplate的实现) + Spring 练习实战
- 通过SqlSessionTemplate基于模板类实现Mybatis
- Mybatis(基于接口映射) + Spring 练习实战
- spring-mybatis整合-SqlSessionTemplate
- mybatis spring配置SqlSessionTemplate使用
- MyBatis-Spring整合 注入SqlSessionTemplate
- 通过 sqlSessionTemplate 整合 Spring 和 MyBatis 的方法
- mybatis+spring3实战3 - sqlSessionTemplate 方式
- mybatis+spring3实战3 - sqlSessionTemplate 方式
- mybatis中 SqlSessionTemplate的理解
- mybatis中 SqlSessionTemplate的理解
- Spring与mybatis的整合实践之SqlSessionTemplate持久化模板
- Spring与mybatis的整合实践之SqlSessionTemplate持久化模板详解
- MyBatis学习总结(七)——基于Maven的Mybatis和Spring整合 实战
- (SqlSessionTemplate和SessionFactory)sqlsession的产生过程,hibernate和mybatis的对比
- (SqlSessionTemplate和SessionFactory)sqlsession的产生过程,hibernate和mybatis的对比
- springMVC+mybatis 之 借助SqlSessionTemplate 实现Dao层通用写法
- 【项目实战】基于Extjs+SpringMVC+Spring+Mybatis整合的进销存管理系统详解----项目简介(第一讲)
- 显示日期的时候除去时分秒,只留下年月日
- C语言基础
- radmin使用
- 求值器和插补器
- 云中应用性能管理(APM)的下一步
- Mybatis(基于SqlSessionTemplate的实现) + Spring 练习实战
- 艾灸加盟
- VB中鸡肋的Sub/Function区分
- java即时通信解决方案openfire+spark完整安装指南
- Privileged instruction
- 加入创业公司?
- C语言listen()函数:等待连接
- IT忍者神龟之使用 PowerDesigner
- 如何快速学会嵌入式?