1. 程式人生 > >Spring與mybatis的整合實踐之SqlSessionTemplate持久化模板詳解

Spring與mybatis的整合實踐之SqlSessionTemplate持久化模板詳解

今天用SqlSessionTemplate持久化模板來整合spring和mybatis,其實差別不大,就是spring的配置檔案裡改一下,測試類改一下就可以了,如下

這是spring控制檔案的主要內容,需要注意的就是不要忘了把sqlsession注入測試類

<!--建立jdbc資料來源 -->
      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
                <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />  
                <property name="url" value="jdbc:oracle:****:*****:1521:****" />  
                <property name="username" value="****" />  
                <property name="password" value="****" />  
      </bean>
	
	  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	  	 <property name="dataSource" ref="dataSource" />
		 <property name="configLocation" value="classpath:com/Template/configuration.xml" />
	  </bean>
	  
	  <bean id="sqlSession"     class="org.mybatis.spring.SqlSessionTemplate"> 
      	  <constructor-arg index="0" ref="sqlSessionFactory" /> 
	  </bean>

	  <bean id="customerTest" class="com.Template.Test">
	  	  <property name="sqlSession" ref="sqlSession" />
	  </bean>



這是測試類,由於這是SqlSessionTemplate,所以不需要繼承

import javax.annotation.Resource;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test{
	@Resource
	public SqlSessionTemplate sqlSession;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Test().firstTest();
	}
	
	public void setSqlSession(SqlSessionTemplate sqlSession) {
        this.sqlSession = sqlSession;
   }

	public void firstTest() {
		BeanFactory factory = new ClassPathXmlApplicationContext("com/Template/applicationContext.xml");
		Test test = (Test)factory.getBean("customerTest");
		Customer cus = (Customer)test.sqlSession.selectOne("selectCustomer",10696);
		System.out.println(cus);
	}
}


總結:用抽象類和模板的區別就是,測試類中由於SqlSessionTemplate不需要繼承,所以傳值時需要手動寫setter方法傳值,而抽象類由於是繼承的,所以自動賦值。手動賦值的時候需要特別注意的是,<property name="sqlSession" ref="sqlSession" />這裡的name就是屬性名,寫setter方法的時候就是參照它寫的,所以setter方法的命名就好辦了。

相關推薦

Springmybatis整合實踐SqlSessionTemplate持久化模板

今天用SqlSessionTemplate持久化模板來整合spring和mybatis,其實差別不大,就是spring的配置檔案裡改一下,測試類改一下就可以了,如下 這是spring控制檔案的主要內容,需要注意的就是不要忘了把sqlsession注入測試類 <!--

Spring(4) SpringMybatis整合

Spring與Mybatis整合 整合思路 Spring管理:Mybatis的 SqlSessionFactory、Mapper 第一步:整合dao 第二步:新增事務管理 第三步:整合service、Spring管理Service介面、service通過IOC容器呼叫Dao(ma

Mybatis原始碼分析SpringMybatis整合MapperScannerConfigurer處理過程原始碼分析

        前面文章分析了這麼多關於Mybatis原始碼解析,但是我們最終使用的卻不是以前面文章的方式,編寫自己mybatis_config.xml,而是最終將配置融合在spring的配置檔案中。有了前面幾篇部落格的分析,相信這裡會容易理解些關於Mybatis的初始化及

SpringMybatis整合

base package div classpath conf data pac 是否 ner 一 概述 1.整合的目的 將Mapper映射器的創建任務交給Spring容器。 二 具體實現 1.創建sqlSessionFactory: <bean id="sql

SSM整合(2): spring mybatis 整合

分享 eth point names space json cal 返回 autowired 在進行完spring與springmvc整合之後, 繼續 spring與mybatis的整合. 既然是操作數據庫, 那必然不能缺少了連接屬性 一. db.properties j

spring學習 六 springmybatis整合

spring整合 acl nfa stat 工廠設計 eas ctype tin http   在mybatis學習中有兩種配置文件 :全局配置文件,映射配置文件。mybatis和spring整合,其實就是把mybatis中的全局配置文件的配置內容都變成一個spring容器

SpringMyBatis整合

準備工作(MyBatis基本): 1.匯入mybatis-spring、spring-jdbc、spring-tx三個jar包 2.編寫實體類、Mapper介面、Mapper.xml 3.編寫mybatis-config.xml核心配置檔案 整合步驟(基本): 1.匯入commons-dbc

SpringMyBatis整合錯誤:nested exception is java.lang.NoClassDefFoundError

最近在學習整合Spring與MyBatis時,出現了以下異常: Error creating bean with name 'sqlSessionFactoryBean' defined in class path resource [application-mybatis

SpringMyBatis整合優化

前言 在上一篇文章中,我們使用了老老實實的方式對兩個框架進行了整合,我們在每一個服務層元件都聲明瞭一個SqlSessionTemplate物件,在呼叫資料層的時候通過getMapper()方法對映得到某個介面,然後呼叫裡面的方法。 直接在業務元件呼叫getMapper()

Mybatis 坑路5 -> Spring MyBatis 整合 + 基於註解的 SQL 對映器

##Spring 與 MyBatis 整合 + 基於註解的 SQL 對映器 依賴的 Jar 包   Mybatis 與 Spring 依賴的 Jar 包如下: mybatis-3.3.0.jar mybatis-spring-1.2.3.jar SpringFr

spring(三) springmybatis整合

作為Bean容器,spring框架提供了IOC機制,可以接管所有元件的建立工作,並管理,整合的主要目標就是將mybatis的核心元件方放到spring中。 具體的是mybatis的核心是獲取sqlSession物件,而sqlSession物件依賴於SqlSessionFac

整理不易,且整且珍惜 2.開發環境的搭建 3.Eclipse的相關配置 4.使用maven建立web專案 5.Spring+Mybatis+SpringMVC整合 6.mybatis自動生成程式碼 7.springmybatis整合中Junit的測試 8.maven專案的啟動 9.Restful

整理不易,且整且珍惜 2.開發環境的搭建 3.Eclipse的相關配置 4.使用maven建立web專案 5.Spring+Mybatis+SpringMVC整合 6.mybatis自動生成程式碼

springmybatis整合及事務控制

一. 簡介 本文將會使用spring整合mybatis, 並新增事務管理, 以此為記, 方便以後查閱。 二. 例子 1. 程式碼結構圖: 2. 建表語句: DROP DATABASE test; CREATE DATABASE test; USE test

Sharding-Sphere 3.X springmybatis整合(分庫分表)demo

最近在弄這個sharding-sphere,公司內部分庫分表是在此業務程式碼上進行邏輯分庫分表,但是這種總是不好,也調研了幾款分庫分表中介軟體、mycat、網易cetus、阿里DRDS、這幾種就是背景強大,大公司經過大量的實戰,成熟度很高,而框架sharding-sphere

SpringMyBatis整合--配置檔案

在JAVA專案下建立lib資料夾,將jar包放進lib資料夾,進行配置。將MyBatis的配置檔案mybatis-config.xml和Spring的配置檔案app.xml放在src目錄下。 這是mybatis的配置檔案 這是Spring的配置檔

日常Exception(五):springmybatis整合時報錯

問題:最近在整合SSM框架,搭建一半之後(即專案建立完畢,spring與mybatis整合完畢),開始測試spring與mybatis是否整合成功。貼出部分程式碼:/** * 配置spring和junit整合,junit啟動時載入springIOC容器 spring-tes

spring mybatis整合mybatis註解不起作用

一、首先配置好基礎的資料來源及註解管理器 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><pro

MyBatis原始碼分析@SelectProvider註解使用

MyBatis原始碼分析之@SelectProvider註解使用詳解 之前講了MyBatis的配置、plugin、Select查詢,還有@MapKey註解的使用與原理,還有返回@ResultMap等等,我原想直接從MyBatis的快取開始說起,但是想想還是得說一下MyBatis中的@

25.C++- 泛型編程函數模板()

bsp 構造 指定 idt 可執行 檢查 自動轉換 泛型編程 inf 1)初探函數模板 2)深入理解函數模板 3)多參函數模板 4)重載函數模板 當我們想寫個Swap()交換函數時,通常這樣寫: 但是這個函數僅僅只能支持int類型,如果我們想實現交換double,fl

JavaEE SpringMyBatis整合傳統DAO方式整合(教材學習筆記)

在實際開發中MyBatis都是與Spring整合在一起使用的,在之前學習了MyBatis與Spring,現在來學習如何使他們整合 首先建立一個名為chapter10的web專案 一、環境搭建 1.準備好所有的有關jar包,具體如下: 將上面所有jar包新增到專案lib目錄下