您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Spring Boot整合Spring Data Jpa的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
一、Spring Data Jpa的簡介
spring data:其實就是spring 提供的一個操作數據的框架。而spring data JPA 只是spring data 框架下的一個基于JPA標準操作數據的模塊。
spring data jpa :基于JPA的標準對數據進行操作。簡化操作持久層的代碼,只需要編寫接口就可以,不需要寫sql語句,甚至可以不用自己手動創建數據庫表。
二、添加依賴
<!--添加springdatajpa的依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
三、在項目中添加application.properties(或者application.yml)配置文件,添加數據源配置以及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="自定義的表名"):自定義設置這個實體類在數據庫所對應的表名!
@Id:表明哪一個屬性對應表中的主鍵
@GeneratedValue(strategy = GenerationType.IDENTITY):主鍵自增長,設置主鍵的生成策略,這種方式依賴于具體的數據庫,如果數據庫不支持自增主鍵,那么這個類型是沒法用的。
@Column(name = "自定義字段名",length = "自定義長度",nullable = "是否可以空",unique = "是否唯一",columnDefinition = "自定義該字段的類型和長度")
表示對這個變量所對應的字段名進行一些個性化的設置,例如字段的名字,字段的長度,是否為空和是否唯一等等設置。
package com.offcn.entity; import javax.persistence.*; @Entity @Table(name = "user")//創建表 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<User,Integer> { }
六、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的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。