1. 程式人生 > >jdbcTemplate和HibernateTemplate和TransactionManager

jdbcTemplate和HibernateTemplate和TransactionManager

 【一個是一jdbc方式封裝的連線,一個是以hibernate方式封裝的,2者用法不同了,相當於一個是jdbc一個是hibernate!看你用什麼方式來處理資料了。
都是直接用就行了 不用顯示的開啟和關閉連線,由容器管理了。
【DataSourceTransactionManager:事務管理器
對JDBC(Java Data Base Connectivity,java資料庫連線)進行事務管理,在spring中是對JdbcTemplate進行事務管理

HibernateTransactionManager:是對Hibernate進行事務管理,當在spring中使用HibernateTemplate時,要使用此管理器。

但是當在service的一個方法中同時使用了JdbcTemplate和HibernateTemplate時,就要使用HibernateTransactionManager了,因為當使用DataSourceTransactionManager時,JdbcTemplate和HibernateTemplate獲得的connection並不是同一個,也就沒辦法對service的方法進行事務管理了。

相關推薦

jdbcTemplateHibernateTemplateTransactionManager

 【一個是一jdbc方式封裝的連線,一個是以hibernate方式封裝的,2者用法不同了,相當於一個是jdbc一個是hibernate!看你用什麼方式來處理資料了。 都是直接用就行了 不用顯示的開啟和關閉連線,由容器管理了。 】 【DataSourceTransaction

關於hibernateTemplatejdbcTemplate的是否共享事務的說明

1、hibernateTemplate 與 jdbcTemplate 事務為共享。 2、但hibernate中的HQL方法,比如save update等 ,若不呼叫flush(),則資料只存在於緩衝區

spring的HibernateDaoSupport以及HibernateTemplatejdbcTemplate的選擇問題

spring提供訪問資料庫的有三種方式: HibernateTemplate:org.springframework.orm.hibernate3.HibernateTemplate (推薦使用) HibernateDaoSupport:org.springframewor

JDBCTemplateHibernateTemplate事物原始碼解析

由於專案中對批量的sql進行入庫處理。所以打算用jdbcTemplate。在其他的增刪改查中都是用hibernateTemplate。 在這裡考慮到一個問題,就是當jdbcTemplate和hibernateTemplate結合用的時候,事物是怎麼樣的了? 經過測試:在

JDBCTemplate---方法介紹簡單示例

當sql等查詢方式不能滿足效能或靈活性的要求,必須使用SQL時,大家有三種選擇: 第一、使用Hibernate 的sql 查詢函式,將查詢結果物件轉為Entity物件。 第二、使用Hibernate Session的getConnection 獲得JDBC

Spring使用JdbcTemplate、JdbcDaoSupport返回表自增主鍵值

publicclassTeacherDaoImplextendsBaseDaoimplementsTeacherDao{ @Override publicStudent seacherStu(int id){ String sql="select * from student where id=?"; fi

JdbcTemplate中executeupdate的區別 ,以及JdbcTemplate的增刪改查

1、update可以帶引數,而execute不可以。例如: jdbcTemplate.update("update TableA set name = 'Andy’ where id=?", new Object[] {new Integer(3)});  jdbc

HibernateTransactionManager hibernateTemplate的區別

HibernateTransactionManager管理事務巢狀,開啟,關閉,資源執行緒同步,提交,回滾HibernateTemplate是可以感知到執行緒內的事務和資源(存放在RESOURCESYCHRONIZEDMANAGER貌似叫這個,由AbstractPlatfo

使用閉包代理Segue進行反向傳值

closure create 賦值 返回 protocol alt 類型 del uiview import UIKit class FirstViewController: UIViewController, SecondViewControllerDelegate

Linux中環境變量/etc/profile ~/.bashrc ~/.bash_profile /etc/bashrc 的區別

linux中環境變量/etc/profile ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 的區別 這個一定要理解登錄式shell和非登錄式shell的區別,前者是完全切換用戶,後者是不完全,就算切換過來了,你pwd時家目錄還是之前的家目錄,所以 登錄

forEachmapfor方法的區別

turn 而不是 ber num 遍歷數組 風格 cnblogs ron () 那麽接下來,我繼續做分析,為什麽更推薦用.map(),而不是.forEach()? 首先,.map()要比.forEach()執行速度更快。雖然我也說過執行速度不是我們需要考慮的主要因素,但是他

unity xml的讀取寫入創建

功能 edit eno sum load 定義 鏈接庫 cto tab unity xml的讀取和寫入 Xml是一種常用的數據格式,方便數據的索引查找 1.首先引入相關的動態鏈接庫: 1.1System.Data.dll 1.2Excel.DLL 1.3文件應用擡頭

SDSDHCSDXC卡的差別是什麽

link 12px 擴展 pos 32gb 滿足 宋體 padding 工作 SD內存卡和SDHC內存卡有什麽差別? SDHC和SD的差別事實上也就是SD 1.0/1.1規範和SD 2.0規範的差別。盡管編編手上有一份SD 1.1規範的文件。只是因為SD 2.0規範

公眾號appweb都是客戶端,都可以對接一個後臺

網站 clas span 端口 xxx 訪問 包括 包含 ext 1.公眾號和app和web都是客戶端,都可以對接一個後臺 2.域名中包含端口號嗎?:不包括,不包括 3.目前在IIS服務器上搭建了一個網站,域名也申請了,可是80端口不能使用,可以使用8000,每次訪問網

File的getPath()getAbsolutePath()getCanonicalPath()的差別

不同 int rda 前驅 一個 throw one 可能 java.net 這幾個方法是有一次無意的發現,我當時也不知道什麽意思,就百度了,查到了一些列子: 原文地址http://www.blogjava.net/dreamstone/archive/2007/08/

修飾符關鍵字繼承(一)

ati 構造 pub 常用 另一個 修飾 tro pri 修飾符 一、靜態修飾符----static   static可以修飾內部類、塊、屬性、方法,經static修飾過的元素儲存地址唯一,不會改變 1 public class Test{ 2 static

Python2inputraw_input區別Python3input的區別

input raw_inputPython2 input 和raw_input的區別input 用戶交互輸入數據字符串的時候需要加雙引號 用戶輸入數據的時候輸入的是幹什麽類型就是什麽類型 如,用戶輸入name則是變量類型 用戶輸入"name"則是字符串類型 用戶輸入"123"則是數字類型raw_i

js學習總結----callapplybind的區別

style 效果 兩個 是我 define 學習 處理 blog call() apply和call的方法是一模一樣的,都是用來改變方法的this關鍵字,並且把方法執行:而且在嚴格模式和非嚴格模式下對於第一個參數是null/undefined這種情況的規律是一樣的; bin

SERVICE_NAMESERVICE_NAMESGLOBAL_DBNAME的各自己定義

自己 spf inf sin form service 不同 call ids tnsnames.ora文件中邊SERVICE_NAME的參數值--對於動態註冊和靜態註冊。該參數有不同的取值 對於動態註冊: The followi

表單添加ipurl 當前時間

() com rip http return date src cnblogs name <input name="url" type="hidden" id="url"> <input name="ip" type="hidden" id="