當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
(二)SpringBoot 整合 JPA
生活随笔
收集整理的這篇文章主要介紹了
(二)SpringBoot 整合 JPA
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、JPA簡介
JPA(java persistence api)并不是一個框架,而是一組規范。Hibernate、TopLink、OpenJPA都實現了JPA規范,不過Hinernate最成功)。所以當說到JPA的時候,好多人首先想到的就是Hibernate。
二、SpringBoot 整合 JPA
1、創建工程并添加依賴
2、在application.yml文件中進行配置
spring:devtools:restart:enabled: falsedatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/testhikari: # springboot 2.0 整合了hikari ,據說這是目前性能最好的java數據庫連接池username: rootpassword: 123jpa:hibernate:# 更新或創建數據庫表結構ddl-auto: update # 第一次建表create 后面用update,要不然每次重啟都會新建表# 輸出執行sqlshow-sql: true3、創建一個entity
package com.space.jpa.bean;import lombok.Data;import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id;/*** @author zhuzhe* @date 2018/6/3 23:27* @email 1529949535@qq.com*/ @Data @Entity // 該注解聲明一個實體類,與數據庫中的表對應 public class User {@Id // 表明id,聲明為該表主鍵@GeneratedValue // 自動生成,主鍵自增策略private Long id ;private String name ;//getter & setter 方法略 }4、創建DAO
?編寫Dao接口來操作實體類對應的數據表(Repository)來操作實體類對應的數據表(Repository)
package com.space.jpa.dao;import com.space.jpa.bean.User; import org.springframework.data.jpa.repository.JpaRepository;/*** @author zhuzhe* @date 2018/6/3 23:32* @email 1529949535@qq.com*/ @Component //繼承JpaRepository來完成對數據庫的操作 public interface UserDAO extends JpaRepository<User,Long> {/** 我們在這里直接繼承 JpaRepository* 這里面已經有很多現場的方法了* 這也是JPA的一大優點** */ }在這里我直接截圖,我們可以看看JpaRepository中的一些方法,可以直接使用這些方法,包括其父類的好多方法
5、Service
package com.space.jpa.service;import com.space.jpa.bean.User;import java.util.List; /*** @author zhuzhe* @date 2018/6/3 23:38* @email 1529949535@qq.com*/ public interface UserService {List<User> findAll(); } package com.space.jpa.service.impl;import com.space.jpa.bean.User; import com.space.jpa.dao.UserDAO; import com.space.jpa.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.List;/*** @author zhuzhe* @date 2018/6/3 23:38* @email 1529949535@qq.com*/ @Service public class UserServiceImpl implements UserService {@Autowiredprivate UserDAO userDAO;@Overridepublic List<User> findAll() {// 這里我們就可以直接使用 findAll 方法return userDAO.findAll();} }6、Controller
package com.space.jpa.controller;import com.space.jpa.bean.User; import com.space.jpa.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** @author zhuzhe* @date 2018/6/3 23:43* @email 1529949535@qq.com*/ @RestController public class UserController {@Autowiredprivate UserService userService;@GetMapping("/list")public List<User> findAll() {return userService.findAll();} }7、進行測試
我們啟動項目,可以看到日志打印
數據表會自動創建,此時我們查看數據庫
確實已經自動創建了數據表。
我們給表里添加兩條數據,然后通過瀏覽器訪問findAll接口:
得到結果如下:
這樣,我們就整合完成了。是不是 So Easy!!!
源碼:https://github.com/zhuzhegithub/springboot-jpa
總結
以上是生活随笔為你收集整理的(二)SpringBoot 整合 JPA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (一)SpringBoot 整合 MyB
- 下一篇: (一)Mac OS安装PostgreSQ