卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

網(wǎng)友解答:

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

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

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

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

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

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

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

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

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

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

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

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

性能方面:因?yàn)閟pring jdbc提供了批量處理操作batchUpdate,所以在多數(shù)據(jù)時(shí)盡量選擇批處理!

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

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

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

標(biāo)簽: