成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

使用Java時,如何高效的讓數(shù)據(jù)庫訪問Spring JDBC?

網(wǎng)友解答: 這個問題雷到我了,數(shù)據(jù)庫訪問spring JDBC?我就權(quán)當(dāng)做問題是在JAVA中,如何使用spring jdbc操作數(shù)據(jù)庫來答吧!spring jdbc是jdk自帶的jdbc

網(wǎng)友解答:

這個問題雷到我了,數(shù)據(jù)庫訪問spring JDBC?

我就權(quán)當(dāng)做問題是在JAVA中,如何使用spring jdbc操作數(shù)據(jù)庫來答吧!

spring jdbc是jdk自帶的jdbc的封裝版,原生的jdbc提供連接各種數(shù)據(jù)庫的類,可以通過配置不同的驅(qū)動類型,連接不同的數(shù)據(jù)庫服務(wù)器!

先來看下具體jdbc怎么連接數(shù)據(jù)庫的吧?

1,注冊驅(qū)動:比如連接mysql的驅(qū)動com.mysql.jdbc.Driver,注冊驅(qū)動相當(dāng)于連接的門票!

2,連接:數(shù)據(jù)庫也是服務(wù),需要數(shù)據(jù)傳輸,所以需要連接,使用DriverManager.getConnection()來連接數(shù)據(jù)庫!中間參數(shù)為:jdbc:mysql://127.0.0.1:3306/user

3,寫sql并執(zhí)行:Statement對象中有執(zhí)行(excute)方法!

4,處理返回值:使用ResultSet封裝sql返回的結(jié)果!

這樣就完成了jdk jdbc與數(shù)據(jù)庫的交互!

而spring jdbc進一步封裝了原生的jdbc,通過配置驅(qū)動信息,在初始化bean的時候就完成了數(shù)據(jù)庫連接。

對外提供了JdbcTemplate類和相應(yīng)的接口來完成上訴的sql操作和返回數(shù)據(jù)封裝!主要使用的API有excute,queryForObject等!

通過注入@autoWired private JdbcTemplate jdbcTemplate進行業(yè)務(wù)層的數(shù)據(jù)庫處理,只需要定義sql和定義結(jié)果返回的映射對象即可!

性能方面:因為spring jdbc提供了批量處理操作batchUpdate,所以在多數(shù)據(jù)時盡量選擇批處理!

既然對原生的jdbc做了封裝,而方便使用者的快速開發(fā),但是肯定是有性能損耗的!下圖為借鑒的jdbc,spring jdbc,mybatis的性能對比圖片,在此謝過!

可以看出,無論讀寫!性能從好到差依次為原生spring jdbcmybatis,性能差別其實不大,但是無疑mybatis是最方便使用的,根據(jù)自己的需要選擇最合適的即可!

盡量每天都有更多的技術(shù)分享,敬請期待。。。

標(biāo)簽: