Spring5 1 Spring整合ORM框架

2021-09-26 11:15:23 字數 2239 閱讀 5200

spring 可以整合多個orm 框架,並且springdata jpa 的底層實現是由hibernate 實現

這篇筆記的主要目的是為了hibernate 的了解,在springboot 中使用資料orm框架是springdata jpa但是jpa的底層實現是hibernate , 所以還是要大概了解一下,hibernate 作為乙個orm 的框架,它都幹了些什麼事。1. 類到資料表對的生成2.使用hibernate 如何完成sql 語句的編寫,完成相應增啥改查方法的執行

整個部落格比較重要的兩個點,就是資料表的生成的那個配置檔案,和hibernate 的使用

spring 整合hibernate的什麼或者說,如何整合?

使用spring的ioc生成hibernate 的sessionfactory

讓hibernate 使用spring的宣告事務

在hibernate.cfg.xml 檔案中配置:這是在匯入hibernate 之後生成的乙個配置檔案

可以在裡面完成基本的hibernate 配置

在spring的配置檔案bean.xml 中配置 資料來源,hibernate,事務(事務和aop 相關聯)

"sessionfactory"

class

="org.springframework.orm.hibernate4.localsessionfactorybean"

>

name

="ddatasource"

ref="datasource"

>

property

>

name

="configlocation"

value

="classpath:hibernate.cfg.xml"

>

name

= value

="classpath:檔案的位置"

>

// 進行測試的時候的問題,我們如何使用hibernate

//獲取配置檔案中的sessionfactory bean

@autowired

private sessionfactory sessionfactory;

//獲取當前執行緒繫結的session

public session getsession()

//測試

string hsql =

"select b.stock from book b where b.id=?"

;int staock =

(int

)getsession()

.createquery

(hsql)

.setstring(0

,1).

uniqueresult()

;/**

*這幾個方法的意思:

*createquery(hsql 語句):可以理解為這個函式將我們寫的hsql 語句變成了正真的sql 語句

*setstring(第幾個引數/從0開始,引數的值)

*uniqueresult(): 執行什麼方法

Spring開發遇到的問題集

1 事務回滾是以何種方式進行,配置到那一層才會生效,事務處理的原理如何?2 aop pointcut expression的配置如何寫?3 批量操作增加2000臺伺服器,包含在乙個事務裡面處理與包含在2000個事務裡面處理,時間相差比較大。即使在2000個事務裡面沒有做資料庫操作,消耗的時間也是比較...

Spring 面試題集綿

問題1 spring事務失效的場景?答 a.資料庫引擎不支援事務 b.沒有納入spring管理範圍 c.註解所在的方法不是public修飾的 d.發生了自呼叫問題 e.所用資料來源沒有配置事務管理器 f.異常 捉或拋異常錯誤 g.引入shiro中許可權註解 h.發生了spring父子上下文重疊 可參...

Spring 使用Spring建立物件

xmlversion 1.0 encoding utf 8 beans xmlns xmlns xsi xmlns p xsi schemalocation spring beans 4.1.xsd beans 2.編寫domain,dao,service 3.在spring中註冊元件 要sprin...