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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

带你搭一个SpringBoot+SpringData JPA的环境

發(fā)布時(shí)間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 带你搭一个SpringBoot+SpringData JPA的环境 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

只有光頭才能變強(qiáng)。

文本已收錄至我的GitHub倉(cāng)庫(kù),歡迎Star:https://github.com/ZhongFuCheng3y/3y

不知道大家對(duì)SpringBoot和Spring Data JPA了解多少,如果你已經(jīng)學(xué)過(guò)Spring和Hibernate的話,那么SpringBoot和SpringData JPA可以分分鐘上手的。SpringBoot和SpringData JPA的好處我就不說(shuō)了,當(dāng)時(shí)我學(xué)習(xí)的時(shí)候也粗略做過(guò)筆記,有興趣的同學(xué)可以去看看

  • SpringBoot就是這么簡(jiǎn)單
  • SpringData JPA就是這么簡(jiǎn)單

其實(shí)我在學(xué)完SpringBoot和SpringData JPA了之后,寫(xiě)過(guò)一個(gè)小Demo,但一直沒(méi)發(fā)出來(lái)而已(懶)。最近要寫(xiě)畢業(yè)設(shè)計(jì)的一個(gè)管理模塊(CRUD),并且我又沒(méi)寫(xiě)過(guò)相關(guān)SpringBoot和SpringData JPA的搭建教程,所以就誕生了這篇文章了。

一、從零搭建環(huán)境

本次我使用的是IDEA編輯器來(lái)搭建SpringBoot和Spring Data JPA環(huán)境

首先,我們?cè)贗DEA新建項(xiàng)目的時(shí)候,選擇Spring Initializr,然后next就行了。

然后填寫(xiě)一些項(xiàng)目的資料(其實(shí)這些資料也無(wú)關(guān)緊要,自己看著填就好了),隨后點(diǎn)擊next

隨后在勾選的時(shí)候,我就隨手勾選了個(gè)LomBok(其他的沒(méi)勾選,反正后面我們可以在pom文件下配置嘛)。可以看出,本次SpringBoot的版本為2.1.3

  • :如果不太了解LomBok的同學(xué),建議去搜一下。這是一個(gè)非常好用的插件,有了它我們可以不用寫(xiě)繁瑣的set/get方法。記得:使用lomBok還需要在IDEA下安裝插件

然后IDEA就會(huì)幫我們創(chuàng)建出Maven管理下SpringBoot的項(xiàng)目啦,此時(shí)一般我們會(huì)指定自己的下載好的Maven,重寫(xiě)它的settings.xml文件

然后Maven就一直在下載相關(guān)的依賴啊,必要的插件啊(我等了差不多10分鐘吧,這個(gè)時(shí)間可以去倒杯Java喝喝.haha),等Maven下載完之后,我們的項(xiàng)目就成了下面那個(gè)樣子了(:原生的是application.properties文件的,我改了一下后綴,我比較喜歡yml格式的):

二、完善pom文件

現(xiàn)在pom文件只有SpringBoot和LomBok的依賴,想要完成CURD的功能,我們需要用到Spring Web模塊、Spring Data JPA以及MySQL驅(qū)動(dòng)依賴,所以我們得在pom文件下加入這些依賴:


<!--Web必要的-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><!--spring data jpa-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency><!-- MySQL的java驅(qū)動(dòng) -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>

pom文件的完整依賴圖如下:

三、配置yml文件

既然我們用到了SpringData JPA和MySQL,我們得為其進(jìn)行配置最基礎(chǔ)的信息。比如說(shuō)數(shù)據(jù)庫(kù)的用戶名和密碼,相對(duì)應(yīng)的庫(kù),以及SpringData JAP的策略。


#服務(wù)端容器的配置
server:port: 8887#數(shù)據(jù)庫(kù)配置
spring:datasource:username: 填寫(xiě)自己的password: 填寫(xiě)自己的driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://填寫(xiě)自己的機(jī)器:3306/填寫(xiě)自己的庫(kù)?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC# JPA配置jpa:hibernate:ddl-auto: updateshow-sql: true# formatSQL得這樣寫(xiě)properties:hibernate:format_sql: true

yml文件完整圖如下:

數(shù)據(jù)庫(kù)的信息填寫(xiě)成自己的就行了。

四、寫(xiě)一個(gè)User實(shí)體

我畢業(yè)設(shè)計(jì)其中就有對(duì)用戶的管理,我們用戶實(shí)體設(shè)計(jì)如下(大家的當(dāng)然可以跟我的不一樣了,我這只是樣例):

package com.zhongfucheng.example.demo.domain;import lombok.Data;
import org.hibernate.annotations.GenericGenerator;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;/*** 存儲(chǔ)用戶的信息** @author ozc* @version 1.0*/
@Entity // jpa的注解,需要加
@Table(name = "table_user") // 指定數(shù)據(jù)庫(kù)的表名
@Data // lombok 
public class User implements Serializable {@Id@GeneratedValue(generator = "system-uuid")@GenericGenerator(name = "system-uuid", strategy = "uuid")private String userId;private String userNickname;private String userPassword;private String userEmail;private Integer actiState;//激活成功與激活失敗常量public static final int ACTIVATION_SUCCESSFUL = 1;public static final int ACTIVATION_UNSUCCESSFUL = 0;private String actiCode;private Date tokenExptime;}

再補(bǔ)充一句:因?yàn)槲覀冇辛薒omBok的Data注解,并且在IDEA已經(jīng)下好的LomBok的插件,所以我們可以不用寫(xiě)set、get方法。

User實(shí)體圖如下:

五、寫(xiě)一個(gè)UserRepository

UserRepository是dao層的東西了,相當(dāng)于UserDao/UserMapper,只是叫法不一樣而已。比如在Struts2喜歡將名字取成xxxAction,而在SpringMVC喜歡將名字取成xxxxController

一般地,我們將UserRepository繼承JpaRepository就可以有對(duì)應(yīng)的增刪改查方法:


import com.zhongfucheng.example.demo.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;/*** UserDao  操作數(shù)據(jù)庫(kù)* @author ozc* @version 1.0*/
public interface UserRepository extends JpaRepository<User, String> {}

UserRepository圖如下:

ok,我們的UserRepository已經(jīng)寫(xiě)好了,至于為啥我們傳入<User, String>,點(diǎn)進(jìn)去看一下就明白了:

六、寫(xiě)一個(gè)UserService

我們就查user表所有的記錄出來(lái)就好了,代碼如下:


// 接口
public interface UserService {List<User> getAllUser();
}// 實(shí)現(xiàn)
@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserRepository userRepository;@Overridepublic List<User> getAllUser() {return userRepository.findAll();}
}

UserService圖如下:

為啥會(huì)有findAll()方法?因?yàn)槲覀兊腢serRepository 繼承了JpaRepository

七、寫(xiě)一個(gè)UserController

UserController調(diào)用一下service的方法,看是否能返回成功,如果能返回成功,那說(shuō)明我們的環(huán)境已經(jīng)是ok的了。

UserController代碼如下:


@RestController
public class UserController {@Autowiredprivate UserService userService;/*** 得到所有用戶*/@GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"})public void  getAllUser () {List<User> allUser = userService.getAllUser();for (User user : allUser) {System.out.println(user);}}
}

Controller代碼圖如下:

八、測(cè)試一下看是否能返回?cái)?shù)據(jù)

進(jìn)入DemoApplication,右鍵,啟動(dòng)我們的SpringBoot項(xiàng)目:

在瀏覽器輸入我們的url:http://localhost:8887/user。然后我們從后臺(tái)查看,打印出查詢的SQL語(yǔ)句,已經(jīng)后臺(tái)已經(jīng)打印表已有的記錄。

最后

我們可以發(fā)現(xiàn)使用SpringBoot+SpringData JPA的方式,不需要很多的配置,不需要很多的代碼就可以從數(shù)據(jù)庫(kù)中查找出數(shù)據(jù)了。非常適合我們做一些簡(jiǎn)答的測(cè)試和小功能。如果對(duì)例子有疑問(wèn)的同學(xué)應(yīng)該是對(duì)SpringData JPA不太熟悉,建議去找找相關(guān)的教程看一下,相信你可以很快就入門(mén)了。

樂(lè)于輸出干貨的Java技術(shù)公眾號(hào):Java3y。公眾號(hào)內(nèi)有200多篇原創(chuàng)技術(shù)文章、海量視頻資源、精美腦圖,不妨來(lái)關(guān)注一下!

覺(jué)得我的文章寫(xiě)得不錯(cuò),不妨點(diǎn)一下

轉(zhuǎn)載于:https://www.cnblogs.com/Java3y/p/10583162.html

總結(jié)

以上是生活随笔為你收集整理的带你搭一个SpringBoot+SpringData JPA的环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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