以下筆記均摘自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去刪除
