Spring的持久層封裝 使用ORM工具訪問資料

2021-09-29 11:50:27 字數 3403 閱讀 8128

常用的orm工具:hibernate、ibatis等。

下面介紹使用hibernate:

加入hibernate後的spring配置文件。

- 配置資料原 -

->

="datasource"

class

="com.mchange.v2.c3p0.combopooleddatasource"

>

<

property name=

"driverclass" value=

"com.mysql.jdbc.driver"

>

<

/property

>

<

property name=

"jdbcurl" value=

"jdbc:mysql://localhost:3306/springdb"

>

<

/property

>

<

property name=

"user" value=

"root"

>

<

/property

>

<

property name=

"password" value=

"123"

>

<

/property

>

- 指定連線資料庫連線池的最大連線數 -

->

<

property name=

"maxpoolsize" value=

"40"

/>

- 指定連線資料庫連線池的最小連線數 -

->

<

property name=

"minpoolsize" value=

"1"/

>

- 指定連線資料庫連線池的初始化連線數 -

->

<

property name=

"initialpoolsize" value=

"1"/

>

- 指定連線資料庫連線池的連線的最大空閒時間 -

->

<

property name=

"maxidletime" value=

"20"

/>

<

/bean>

- 定義了hibernate的sessionfactory;使用hibernate的sessionfactory-

- hibernatetemplate類是簡化hibernate資料訪問**的輔助類,可以獲取乙個session物件-

->

*="hibernatetemplate"

class

="org.springframework.orm.hibernate5.hibernatetemplate"

>

<

property name=

"sessionfactory"

>

"sessionfactory"

/>

<

/property

>

<

property name=

"allowcreate"

>

true<

/value>

<

/property

>--

>

<

/bean>

*- 註冊事務管理器 -

->

="transactionmanager"

class

="org.springframework.orm.hibernate5.hibernatetransactionmanager"

>

<

property name=

"sessionfactory" ref=

"sessionfactory"

/>

<

/bean>

- 依賴注入-

->

="hello"

class

="com.entity.hellodao"

>

- 注入持久化操作所需的sessionfactory -

->

<

property name=

"sessionfactory"

>

"sessionfactory"

/>

<

/property

>

<

property name=

"transactionmanager"

>

"transactionmanager"

/>

<

/property

>

<

/bean>

<

/beans>

Spring持久層(一)

資料庫連線池的優勢 傳統的jdbc訪問資料庫技術,每次訪問資料庫都需要通過資料庫驅動器driver和資料庫名稱以及密碼等等資源建立資料庫連線。這樣的連線存在兩大問題 頻繁的建立資料庫連線與斷開資料庫,這樣會消耗大量的資源和時間,降低效能。資料庫的連線需要使用者名稱和密碼等等,這些需要一定的記憶體和c...

spring整合使用持久層框架mybatis(二)

id sqlsessionfactory class org.mybatis.spring.sqlsessionfactorybean name datasource ref datasource name configlocation value classpath mybatis config....

在使用MyBatis做持久層時主鍵

在使用mybatis做持久層時,insert語句預設是不返回記錄的主鍵值,而是返回插入的記錄條數 如果業務層需要得到記錄的主鍵時,可以通過配置的方式來完成這個功能 針對sequence主鍵而言,在執行insert sql前必須指定乙個主鍵值給要插入的記錄,如oracle db2,可以採用如下配置方式...