SpringBoot集成JPA用法筆記

? ? ? ? ? ? ? ?

今天給大家整理SpringBoot集成JPA用法。希望對大家能有所幫助!

  1. 搭建SpringBoot項目

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

  1. 新建配置文件 application.yml

server:
port: 8090
spring:
#通用的數據源配置datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8
username: root
password: root
jpa:
#將默認的存儲引擎切換為 InnoDBdatabase-platform: org.hibernate.dialect.MySQL5InnoDBDialect
#配置在日志中打印出執行的 SQL 語句信息。show-sql: truehibernate:
#配置指明在程序啟動的時候要刪除并且創建實體類對應的表# validate 加載 Hibernate 時,驗證創建數據庫表結構# create 每次加載 Hibernate ,重新創建數據庫表結構,這就是導致數據庫表數據丟失的原因。# create-drop 加載 Hibernate 時創建,退出是刪除表結構(退出是指退出sessionFactory)# update 加載 Hibernate 自動更新數據庫結構# none 不啟用ddl-auto: none

3、新建用戶實體類 UserInfoDAO.java

package my.springboot.jpa.entity;
import javax.persistence.*;
import java.util.Date;
/*** 用戶表實體* **/
@Entity
@Table(name = "userinfo")
public class UserInfoDAO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private  Integer id;
@Column
private String userName;
@Column
private Integer age;
@Column(length = 500)
private String address;
@Column(name = "create_date")
private Date createDate;
@Column(name = "create_user")
private String createUser;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;}public String getAddress() {
return address;}public void setAddress(String address) {
this.address = address;}public Date getCreateDate() {
return createDate;}public void setCreateDate(Date createDate) {
this.createDate = createDate;}public String getCreateUser() {
return createUser;}public void setCreateUser(String createUser) {
this.createUser = createUser;}
}

4、倉庫接口類 UserIfoRepository

package my.springboot.jpa.dao;
import my.springboot.jpa.entity.UserInfoDAO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/*** 倉庫接口類 UserIfoRepository**/
@Repository
public interface UserIfoRepository extends 
JpaRepository<UserInfoDAO, Integer> {
}

5、新建測試用戶類 UserInfoTest.java

package my.springboot.jpa;import my.springboot.jpa.dao.UserIfoRepository;
import my.springboot.jpa.entity.UserInfoDAO;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Date;
import java.util.List;
import java.util.Optional;/*** 測試UserInfo用法**/
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserInfoTest {
@AutowiredUserIfoRepository userIfoRepository;@Testpublic void test() {
//插入用戶測試UserInfoDAO dao = new UserInfoDAO();dao.setUserName("小明");dao.setAge(32);dao.setCreateDate(new Date());dao.setCreateUser("管理員");dao.setAddress("蘇州");
userIfoRepository.save(dao);UserInfoDAO dao2 = new UserInfoDAO();dao2.setUserName("小張");dao2.setAge(35);dao2.setCreateDate(new Date());dao2.setCreateUser("管理員");dao2.setAddress("南京");
userIfoRepository.save(dao2);// 查詢多條記錄 打印List<UserInfoDAO> list = userIfoRepository.findAll();
for (UserInfoDAO item : list) {System.out.println("姓名:" + item.getUserName() 
+ " 年齡:" + item.getAge());        }
// 查詢單個記錄Optional<UserInfoDAO> mo = userIfoRepository.findById(2);System.out.println(mo.get().getUserName());
//更新操作mo.get().setUserName("小明123");
userIfoRepository.save(mo.get());System.out.println(mo.get().getUserName());
//刪除記錄userIfoRepository.delete(mo.get());}
}

6、配置生成數據表

package my.springboot.jpa;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;@SpringBootApplication
@EntityScan(basePackages = {"my.springboot.jpa.entity"})
@EnableJpaRepositories(basePackages = {"my.springboot.jpa.dao"})
public class JpaApplication {
public static void main(String[] args) {SpringApplication.run(JpaApplication.class, args);}
}@EntityScan(basePackages = {"my.springboot.jpa.entity"})
@EnableJpaRepositories(basePackages = {"my.springboot.jpa.dao"})

7、項目結構圖

? ? ? ? ? ? ? ?

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270680.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【轉】有的共享軟件賺了一百萬美元,而為什么你沒有?我的軟件推廣成功之路...

有的共享軟件賺了一百萬美元&#xff0c;而為什么你沒有&#xff1f; 轉自&#xff1a;http://blog.csdn.net/wangjiwei2010/article/details/1267044 譯&#xff1a;DreamGoal 原作&#xff1a;Steve Pavlin 幾個月以前&#xff0c;我決定對共享軟件業進行一項非正式的長期研…

vue全局引入openlayers_vue中使用OpenLayers(一):引入谷歌地圖

vue中使用OpenLayers(一)&#xff1a;引入谷歌地圖第一步npm install olpackage.json 中可以看到第二步引入import "ol/ol.css";import Map from "ol/Map";import Feature from "ol/Feature";import View from "ol/View";import XYZ f…

顯示器知識:分辨率1080P、2K、4K、8K相關知識介紹,看完你就懂了

現在各種電視和顯示器都會出現4K、高清等字樣。4K到底意味著什么呢&#xff1f; 它比超高清(Ultra HD)的像素還要多嗎&#xff1f; 如果4K是1080p的四倍&#xff0c;那是否意味著4K就等于4320p&#xff1f; 以上三個問題按順序回答&#xff1a;視情況而定&#xff1b;有時候是這…

c++大文本比較_Excel – 將文本轉換為數值,第二種方法會的請舉左手

工作中經常收到的數據是從系統直接導出的&#xff0c;有的數據看上去是數字&#xff0c;其實是文本格式。這種數字在 Excel 看來就是個文本&#xff0c;無法參與任何計算分析。所以首先就要把它們轉換成真正的數值。案例&#xff1a;下圖 1 中的 B、C 列均為文本格式&#xff0…

網絡知識:整理各種路由器組網方法!網跨段也能訪問

很多朋友問到&#xff0c;針對不同網段的兩個電腦設備如何實現通信&#xff1f;這個通常在企業辦公中會遇到&#xff0c;我們經常會遇到企業隨著員工或部門的增多&#xff0c;增加了一個路由器&#xff0c;分了兩個網段&#xff0c;A子網和B子網就處于不同網段&#xff0c;當網…

bootstrap.yml與application.properties區別?

1. bootstrap.yml先于application.properties被加載。 2. bootstrap.yml被Spring ApplicationContext的父類加載&#xff0c;這個類先于加載application.yml的ApplicatonContext啟動。

hsv 明度的范圍_色彩空間中的 HSL、HSV、HSB 有什么區別?

首先&#xff0c; HSB 和 HSV 是同一個東西&#xff0c;只是名稱不同&#xff0c;本文后面僅使用 HSB&#xff0c;當提到它的時候&#xff0c;也代表 HSV。HSB 和 HSL 在字面意思上是一樣的&#xff1a;H 指的是色相(Hue)&#xff0c;就是顏色名稱&#xff0c;例如“紅色”、“…

Java技術:serialVersionUID作用介紹

serialVersionUID概念介紹英文翻譯的意思是序列化版本號。凡是實現Serializable接口的類都會有一個表示序列化版本標識符的靜態變量。serialVersionUID的生成方式默認的1L&#xff1a;比如&#xff1a;private static final long serialVersionUID 1L; 。根據類名、接口名、成…

服務雪崩

假設存在如下調用鏈 而此時&#xff0c;Service A的流量波動很大&#xff0c;流量經常會突然性增加&#xff01;那么在這種情況下&#xff0c;就算Service A能扛得住請求&#xff0c;Service B和Service C未必能扛得住這突發的請求。 此時&#xff0c;如果Service C因為抗不住…

華為的型號命名規則_華為交換機s2700系列命名規則

華為交換機s2700系列命名規則華為交換機s2700系列命名規則上一篇我們聊到S2700系列機型的命名規則方法。基于要滿足不同用戶的市場需求&#xff0c;S2700系列提供了多款機型。咱們就以S2700-26TP-PWR-EI、S2710-52P-SI-AC、S2700-52P-EI-AC以及S2700-9TP-SI為模板來講解S2700系…

電腦技巧:Win10操作系統關閉這幾個功能,可以大幅度提升電腦的運行速度

目錄 一、禁用Cortana語音助手 二、關閉onedrive自動同步服務 三、關閉微軟自帶的Windows Search服務 四、關閉windows自動更新 五、清理緩存文件 六、減少不必要開機啟動項 今天小編給大家介紹一下Win10操作系統需要關閉的幾個功能&#xff0c;能讓你的電腦飛速運轉&#xff0…

mysql換成oracle_從mysql轉換到oracle數據庫

最近做了幾個項目&#xff0c;我對項目的要求(有些也是客戶的要求)都是既要能用mysql數據庫&#xff0c;又要能用oracle數據庫&#xff0c;開發時盡量用mysql&#xff0c;等到發布時要求兩者都能適應。因為兩種數據庫還是許多具體的應用有些不同&#xff0c;而我們開發中采用的…

硬件知識:視頻分配器、畫面分割器、矩陣、延長器相關知識介紹

目錄 1、視頻分配器 2、視頻切換器 3、視頻矩陣 4、畫面分割器 5、延長器 你知道視頻分配器&#xff0c;畫面分割器&#xff0c;矩陣各自的作用都是什么嗎&#xff1f;今天小編就為大家詳細的介紹下它們各自的區別。 1、視頻分配器 視頻分配器是一種把一個源平均分配成多路視頻…

UnityShader之Shader分類篇【Shader資料2】

關于ShaderLab&#xff0c;從我個人的理解上來看應該是分為三種類型。 1、Fixed function shader 固定渲染管線Shader&#xff0c;基于用于高級Shader在老顯卡無法顯示時的Fallback&#xff0c;使用的是ShaderLab語言&#xff0c;屬于真正的ShaderLab語言&#xff0c;和我們平時…

mysql 交叉連接_MySQL教程77-CROSS JOIN 交叉連接

之間所講的查詢語句都是針對一個表的&#xff0c;但是在關系型數據庫中&#xff0c;表與表之間是有聯系的&#xff0c;所以在實際應用中&#xff0c;經常使用多表查詢。多表查詢就是同時查詢兩個或兩個以上的表。在 MySQL 中&#xff0c;多表查詢主要有交叉連接、內連接和外連接…

python web django base skill

web框架本質 socket 業務邏輯框架實現socket tonado node.js 使用WSGI實現socket django flask 自己實現框架思路 wsgiref socket 路由系統 自己寫邏輯&#xff08;views&#xff09; jinja2 模板引擎(templates) 實現動態頁面&#xff0c;修改返回給瀏覽器的字符串 去…

電腦常見的VGA、DVI、PS/2、USB等接口知識筆記

我們經常見到電腦和網絡設備上都少不了VGA、DVI、PS/2、USB等常用接口&#xff0c;那些接口里面有多個針腳&#xff0c;他們每個針腳都有自己的用途&#xff0c;今天電腦學習小編就帶大家一起看看這些接口神秘用途。 現在很多朋友們可能會遇到VGA線或HDMI線不夠長&#xff0c;或…