hibernate07-Session

以下筆記均摘自O(shè)neNote的原始筆記,想要獲取格式更好的OneNote原始筆記,以及相應(yīng)的配套視頻請(qǐng)?jiān)L問http://hqyrbl.cn

Session

Session類的常用方法

????save()

????????將對(duì)象中的數(shù)據(jù)保存到表

????????JavaBean中代表主鍵的屬性,不需要設(shè)置,即便設(shè)置了也沒有任何效果,如下

update()

????根據(jù)主鍵id更新數(shù)據(jù),若沒有則會(huì)報(bào)錯(cuò)

saveOrUpdate()

????在保存對(duì)象中的數(shù)據(jù)時(shí),若發(fā)現(xiàn)指定了id,并且該id在表的主鍵中存在,那么就會(huì)更新該行數(shù)據(jù),反之,就會(huì)插入一行新的數(shù)據(jù)

get()

從表中獲取數(shù)據(jù),第一個(gè)參數(shù)是JavaBean的class,第二個(gè)參數(shù)是表中的主鍵

load()

????和get()一樣,最終也是從表中獲取數(shù)據(jù),如下

從表面上看不出什么區(qū)別,但實(shí)質(zhì)上的區(qū)別在于,load只有在訪問對(duì)象中的數(shù)據(jù)的時(shí)候,才會(huì)去連接數(shù)據(jù)庫,而get只要一調(diào)用,就會(huì)去連接數(shù)據(jù)庫,所以load

的好處在于,可以避免頻繁連接數(shù)據(jù)庫,減少數(shù)據(jù)庫的壓力

證明load和get的區(qū)別

????get

返回的user就是User對(duì)象

load

user對(duì)象是如下這個(gè)代理類,可以理解為hibernate默認(rèn)給我們生成了一個(gè)User的實(shí)現(xiàn)類

delete()

????刪除表中的數(shù)據(jù)

????2種刪除方式

????????第一:先獲取再刪除

? ? ? ? 第二:根據(jù)表中的主鍵id去刪除

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容