日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot结合spring-data-jpa

發(fā)布時(shí)間:2024/2/28 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot结合spring-data-jpa 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Spring Boot結(jié)合spring-data-jpa進(jìn)行快速開發(fā)

1.添加依賴

<!-- spring-data-jap支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa </artifactId></dependency>

2.在配置文件中,添加數(shù)據(jù)庫策略配置

spring.jpa.properties.hibernate.hbm2ddl.auto是hibernate的配置屬性,其主要作用是:自動(dòng)創(chuàng)建、更新、驗(yàn)證數(shù)據(jù)庫表結(jié)構(gòu)。該參數(shù)的幾種配置如下:

create:每次加載hibernate時(shí)都會(huì)刪除上一次的生成的表,然后根據(jù)你的model類再重新來生成新表,哪怕兩次沒有任何改變也要這樣執(zhí)行,這就是導(dǎo)致數(shù)據(jù)庫表數(shù)據(jù)丟失的一個(gè)重要原因。
create-drop:每次加載hibernate時(shí)根據(jù)model類生成表,但是sessionFactory一關(guān)閉,表就自動(dòng)刪除。
update:最常用的屬性,第一次加載hibernate時(shí)根據(jù)model類會(huì)自動(dòng)建立起表的結(jié)構(gòu)(前提是先建立好數(shù)據(jù)庫),以后加載hibernate時(shí)根據(jù)model類自動(dòng)更新表結(jié)構(gòu),即使表結(jié)構(gòu)改變了但表中的行仍然存在不會(huì)刪除以前的行。要注意的是當(dāng)部署到服務(wù)器后,表結(jié)構(gòu)是不會(huì)被馬上建立起來的,是要等應(yīng)用第一次運(yùn)行起來后才會(huì)。
validate:每次加載hibernate時(shí),驗(yàn)證創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu),只會(huì)和數(shù)據(jù)庫中的表進(jìn)行比較,不會(huì)創(chuàng)建新表,但是會(huì)插入新值。

這里我們?cè)O(shè)置

spring.jpa.properties.hibernate.hbm2ddl.auto=update

3.respository層

public interface UserRepository extends JpaRepository<User,Long>{User findByAge(int age);User findByNameAndAge(String name, Integer age);@Query("from User u where u.name=:name")User findUser(@Param("name") String name ); }

spring-data-jpa幫我們實(shí)現(xiàn)了很多dao層的基本函數(shù)
可以從JpaRepository接口中查看到這些函數(shù)。
當(dāng)然,我們也可以自定義函數(shù),例如

User findByAge(int age);

自動(dòng)通過函數(shù)名,來執(zhí)行相應(yīng)的sql語句
還有一種方式

@Query("from User u where u.name=:name") User findUser(@Param("name") String name);

自己親自寫sql語句,@param(“name”)里面的參數(shù)和 :name一樣

4.控制層操作

@ResponseBody @RequestMapping(value="/getuser" ,method=RequestMethod.GET)public User getLight(@RequestParam int age) {User findByName = userRepository.findByAge(age);return findByName;} }

5.訪問結(jié)果

總結(jié)

以上是生活随笔為你收集整理的Spring Boot结合spring-data-jpa的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。