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

歡迎訪問 生活随笔!

生活随笔

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

javascript

(二)SpringBoot 整合 JPA

發(fā)布時(shí)間:2024/4/15 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (二)SpringBoot 整合 JPA 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、JPA簡(jiǎn)介

JPA(java persistence api)并不是一個(gè)框架,而是一組規(guī)范。Hibernate、TopLink、OpenJPA都實(shí)現(xiàn)了JPA規(guī)范,不過Hinernate最成功)。所以當(dāng)說到JPA的時(shí)候,好多人首先想到的就是Hibernate。

二、SpringBoot 整合 JPA

1、創(chuàng)建工程并添加依賴

2、在application.yml文件中進(jìn)行配置

spring:devtools:restart:enabled: falsedatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/testhikari: # springboot 2.0 整合了hikari ,據(jù)說這是目前性能最好的java數(shù)據(jù)庫(kù)連接池username: rootpassword: 123jpa:hibernate:# 更新或創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)ddl-auto: update # 第一次建表create 后面用update,要不然每次重啟都會(huì)新建表# 輸出執(zhí)行sqlshow-sql: true

3、創(chuàng)建一個(gè)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 // 該注解聲明一個(gè)實(shí)體類,與數(shù)據(jù)庫(kù)中的表對(duì)應(yīng) public class User {@Id // 表明id,聲明為該表主鍵@GeneratedValue // 自動(dòng)生成,主鍵自增策略private Long id ;private String name ;//getter & setter 方法略 }

4、創(chuàng)建DAO

?編寫Dao接口來操作實(shí)體類對(duì)應(yīng)的數(shù)據(jù)表(Repository)來操作實(shí)體類對(duì)應(yīng)的數(shù)據(jù)表(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來完成對(duì)數(shù)據(jù)庫(kù)的操作 public interface UserDAO extends JpaRepository<User,Long> {/** 我們?cè)谶@里直接繼承 JpaRepository* 這里面已經(jīng)有很多現(xiàn)場(chǎng)的方法了* 這也是JPA的一大優(yōu)點(diǎn)** */ }

在這里我直接截圖,我們可以看看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、進(jìn)行測(cè)試

我們啟動(dòng)項(xiàng)目,可以看到日志打印

數(shù)據(jù)表會(huì)自動(dòng)創(chuàng)建,此時(shí)我們查看數(shù)據(jù)庫(kù)

確實(shí)已經(jīng)自動(dòng)創(chuàng)建了數(shù)據(jù)表。

我們給表里添加兩條數(shù)據(jù),然后通過瀏覽器訪問findAll接口:

得到結(jié)果如下:

這樣,我們就整合完成了。是不是 So Easy!!!

源碼:https://github.com/zhuzhegithub/springboot-jpa

總結(jié)

以上是生活随笔為你收集整理的(二)SpringBoot 整合 JPA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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