愉快的使用JPA進(jìn)行數(shù)據(jù)查詢(xún)(四)基本使用

這章很簡(jiǎn)單,充分利用JPA帶給我們的便利進(jìn)行數(shù)據(jù)操作滤奈。

新建Teacher類(lèi)以及它的Dao接口:

image.png
image.png

重啟一下項(xiàng)目就可以完成表的建立

首先介紹新增功能,新建一個(gè)TeacherController卓箫,注入TeacherDao泻骤,然后用Jrebal啟動(dòng)項(xiàng)目(Jrebal啟動(dòng)方便熱更新)

@RestController
public class TeacherController {
  @Autowired
  private TeacherDao teacherDao;
}

然后編寫(xiě)我們的測(cè)試方法

  @RequestMapping("/addTeacherTest")
  public Teacher addTeacherTest(){
    Teacher teacher = new Teacher();
    teacher.setBirthday(new Date());
    teacher.setName("jules");
    teacher.setSubject("math");

    teacherDao.save(teacher);

    return teacher;
  }

新建一個(gè)Teacher,調(diào)用TeacherDao為我們實(shí)現(xiàn)的save方法(當(dāng)主鍵不是空的時(shí)候围肥,會(huì)被認(rèn)為更新罩扇,所以沒(méi)有update方法)婆芦。如果保存成功怕磨,teacher會(huì)被綁定主鍵id。編譯一下工程消约,在瀏覽器輸入http://127.0.0.1:8080/addTeacherTest肠鲫,可以看到teacher類(lèi)已經(jīng)存在id:

image.png

同樣的,數(shù)據(jù)庫(kù)中也有了這樣一條數(shù)據(jù):

image.png

回顧一下或粮,我們幾乎沒(méi)有寫(xiě)一行非業(yè)務(wù)代碼导饲,但是spring-data-jpa帶給我們的遍歷遠(yuǎn)遠(yuǎn)不止于此。

刪除操作也同樣簡(jiǎn)單氯材,比如我們要?jiǎng)h除剛才id=1的數(shù)據(jù)渣锦,只要編寫(xiě)代碼:

  @RequestMapping("/deleteTeacherTest")
  public void deleteTeacherTest(){
    Teacher teacher = new Teacher();
    teacher.setId(1L);
    teacherDao.delete(teacher);
  }

或者更簡(jiǎn)單的

  @RequestMapping("/deleteTeacherTest")
  public void deleteTeacherTest(){
   
    teacherDao.delete(1L);

  }

就可以了。

修改也很簡(jiǎn)單氢哮,比如我們需要修改id=1的teacher的姓名袋毙,編寫(xiě)代碼:

  @RequestMapping("/updateTeacherTest")
  public Teacher updateTeacherTest() {

    Teacher teacher = new Teacher();
    teacher.setId(1L);
    teacher.setName("jack");

    teacherDao.save(teacher);

    return teacher;
  }```
我們剛說(shuō)過(guò)它沒(méi)有update方法,當(dāng)指定了id冗尤,就會(huì)被當(dāng)成update操作(批量听盖?后面會(huì)有別的方法)

#查
寫(xiě)到這里,這章真的是太簡(jiǎn)單了裂七,但是查有點(diǎn)不一樣皆看,查詢(xún)條件我們需要一個(gè)“例子”,比如我要查詢(xún)姓名是“jules”的老師,那我就要new一個(gè)jules背零,然后把他的name賦值成"name",然后再轉(zhuǎn)化為spring-data-jpa需要的模板類(lèi)(如果用主鍵作為條件腰吟,不需要“例子”,jpa提供了findOne方法)。
我們發(fā)現(xiàn)teacherDao帶了許多find開(kāi)頭的方法

![image.png](http://upload-images.jianshu.io/upload_images/2650891-6908b377f49739ad.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
很多根據(jù)參數(shù)能猜出一二捉兴,這里我們需要借助Example類(lèi)來(lái)按照條件查詢(xún)數(shù)據(jù)蝎困,代碼如下:

@RequestMapping("/selectTeacherTest")
public List selectTeacherTest() {
Teacher teacher = new Teacher();
teacher.setName("jules");
List teachers = teacherDao.findAll(Example.of(teacher));

return teachers;

}

在瀏覽器輸入對(duì)應(yīng)的url就能得到我們需要的結(jié)果:

![image.png](http://upload-images.jianshu.io/upload_images/2650891-a23c859b52dbc899.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#總結(jié)
spring-data-jpa已經(jīng)實(shí)現(xiàn)了很多查詢(xún)方法,基本滿足我們70%左右的需求倍啥,但是這并不是萬(wàn)能的禾乘。下一章介紹其他的查詢(xún)方法。

***
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末虽缕,一起剝皮案震驚了整個(gè)濱河市始藕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氮趋,老刑警劉巖伍派,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異剩胁,居然都是意外死亡诉植,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)昵观,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)晾腔,“玉大人舌稀,你說(shuō)我怎么就攤上這事∽评蓿” “怎么了壁查?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)剔应。 經(jīng)常有香客問(wèn)我睡腿,道長(zhǎng),這世上最難降的妖魔是什么峻贮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任席怪,我火速辦了婚禮,結(jié)果婚禮上月洛,老公的妹妹穿的比我還像新娘何恶。我一直安慰自己,他們只是感情好嚼黔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著惜辑,像睡著了一般唬涧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盛撑,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天碎节,我揣著相機(jī)與錄音,去河邊找鬼抵卫。 笑死狮荔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的介粘。 我是一名探鬼主播殖氏,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼姻采!你這毒婦竟也來(lái)了雅采?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慨亲,失蹤者是張志新(化名)和其女友劉穎婚瓜,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體刑棵,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巴刻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛉签。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胡陪。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沥寥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出督弓,到底是詐尸還是另有隱情营曼,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布愚隧,位于F島的核電站蒂阱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏狂塘。R本人自食惡果不足惜录煤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荞胡。 院中可真熱鬧妈踊,春花似錦、人聲如沸泪漂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)萝勤。三九已至露筒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敌卓,已是汗流浹背慎式。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趟径,地道東北人瘪吏。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蜗巧,于是被迫代替她去往敵國(guó)和親掌眠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容