這篇文章給大家分享的是有關Spring Boot整合Spring Data Jpa的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、網(wǎng)絡空間、營銷軟件、網(wǎng)站建設、泰順網(wǎng)站維護、網(wǎng)站推廣。一、Spring Data Jpa的簡介
spring data:其實就是spring 提供的一個操作數(shù)據(jù)的框架。而spring data JPA 只是spring data 框架下的一個基于JPA標準操作數(shù)據(jù)的模塊。
spring data jpa :基于JPA的標準對數(shù)據(jù)進行操作。簡化操作持久層的代碼,只需要編寫接口就可以,不需要寫sql語句,甚至可以不用自己手動創(chuàng)建數(shù)據(jù)庫表。
二、添加依賴
org.springframework.boot spring-boot-starter-data-jpa
三、在項目中添加application.properties(或者application.yml)配置文件,添加數(shù)據(jù)源配置以及jpa的配置
以下兩種任意一種都可以,表達的意思是一樣的
a、application.properties配置文件
#DB Configuration spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot spring.datasource.username=root spring.datasource.password=ROOT #JPA Configuration spring.jpa.database=MySQL spring.jpa.show-sql=true spring.jpa.generate-ddl=true
b、application.yml配置文件
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/springboot username: root password: ROOT jpa: database: mysql show-sql: true generate-ddl: true
四、添加實體類
注意
@Entity:標識這個實體類是一個JPA實體,告訴JPA在程序運行的時候記得生成這個實體類所對應的表~
@Table(name="自定義的表名"):自定義設置這個實體類在數(shù)據(jù)庫所對應的表名!
@Id:表明哪一個屬性對應表中的主鍵
@GeneratedValue(strategy = GenerationType.IDENTITY):主鍵自增長,設置主鍵的生成策略,這種方式依賴于具體的數(shù)據(jù)庫,如果數(shù)據(jù)庫不支持自增主鍵,那么這個類型是沒法用的。
@Column(name = "自定義字段名",length = "自定義長度",nullable = "是否可以空",unique = "是否唯一",columnDefinition = "自定義該字段的類型和長度")
表示對這個變量所對應的字段名進行一些個性化的設置,例如字段的名字,字段的長度,是否為空和是否唯一等等設置。
package com.offcn.entity; import javax.persistence.*; @Entity @Table(name = "user")//創(chuàng)建表 public class User { @Id//標識主鍵 @GeneratedValue(strategy = GenerationType.IDENTITY)//主鍵自增長 private Integer id; private String username; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", age=" + age + '}'; } }
五、dao層添加接口
package com.offcn.dao; import com.offcn.entity.User; import org.springframework.data.jpa.repository.JpaRepository; public interface UserDao extends JpaRepository{ }
六、Controller層測試代碼
package com.offcn.controller; import com.offcn.dao.UserDao; import com.offcn.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Optional; @RestController @RequestMapping("/user") public class UserController { @Autowired private UserDao userDao; //添加 @RequestMapping("/saveInfo") public String saveInfo(){ User user = new User(); user.setAge(18); user.setUsername("小明"); userDao.save(user); return "success"; } //查詢 @GetMapping("/getUsersById") public User getUserById(){ User user = userDao.getOne(1); return user; } }
感謝各位的閱讀!關于“Spring Boot整合Spring Data Jpa的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。