SpringBoot:数据访问-整合 spring-boot-starter-data-jpa

点击查看数据访问demo:LearnSpringBoot06DataJPA
Spring Data JPA - Reference 文档

简介

Spring Data的JPA模块包含一个允许定义存储库bean的自定义名称空间。它还包含JPA特有的某些特性和元素属性。通常,可以使用repositories元素来设置JPA存储库:

点击查看更多的SpringBoot教程

一、引入spring-boot-starter-data-jpa

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

二、application.yml配置文件

spring:datasource:username: rootpassword: 123456url: jdbc:mysql://192.168.0.103:3307/jpadriver-class-name: com.mysql.cj.jdbc.Driverjpa:
#    database: mysql
#    database-platform: org.hibernate.dialect.MySQLDialecthibernate:# 更新或者创建数据表结构ddl-auto: update#      naming:#        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl#    generate-ddl: true 开启逆向工程,存在数据库的表,然后数据库表可以生成实体类,只有在开发阶段设置trueshow-sql: true       # 控制台显示SQL
#    properties:
#      hibernate:
#        hbm2ddl:
#          auto: update

三、使用JPA注解配置映射关系

User.java实体类代码

package com.example.learnspringboot06datajpa.entity;import jakarta.persistence.*;//使用JPA注解配置映射关系
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "tbl_user") //@Table来指定和哪个数据表对应;如果省略默认表名就是user;
public class User {@Id@GeneratedValue(strategy = GenerationType.AUTO)//自增主键private Integer id;@Column(name = "last_name ", length = 50)//这是和数据表对应的一个列private String lastName;@Column //省略默认列名就是属性名private String email;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}
}

四、创建Repository接口继承JpaRepository来完成对数据库的操作

UserRepository.java接口代码

package com.example.learnspringboot06datajpa.repository;import com.example.learnspringboot06datajpa.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;//继承JpaRepository来完成对数据库的操作
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {//<T, ID> T代表 entity对象,ID 对应表主键类型
}
五、测试结果

jpa数据库
在这里插入图片描述

项目运行后,在浏览器访问http://localhost:8081/user/2
在这里插入图片描述
控制台日志
在这里插入图片描述

在浏览器访问
http://localhost:8081/user?lastName=test&email=test01@test.com
在这里插入图片描述
控制台日志
在这里插入图片描述

六、pom.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.1</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>LearnSpringBoot06DataJPA</artifactId><version>0.0.1-SNAPSHOT</version><name>LearnSpringBoot06DataJPA</name><description>LearnSpringBoot06DataJPA</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><!--		<dependency>-->
<!--			<groupId>org.springframework.boot</groupId>-->
<!--			<artifactId>spring-boot-starter-jdbc</artifactId>-->
<!--		</dependency>--><!--改完POM后不生效法1:右击POM文件-Maven-Reload project--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/492125.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JVM】聊聊JVM生产环境常见的OOM问题

对于JVM来说&#xff0c;因为划分有固定的区域来执行字节码文件&#xff0c;无外乎&#xff0c;出问题的&#xff0c;也就是按照对应分分区会有常见的OOM问题。 栈 对于栈来说&#xff0c;栈的主要作用就是用于方法的执行&#xff0c;方法调用入栈、方法调出出栈。但是如果我…

速卖通买家号操作指南:轻松注册与全自动批量注册技巧

我是一位在速卖通平台销售产品的卖家&#xff0c;最近尝试了一种新的方法来提升产品的销量和曝光度&#xff0c;即利用速卖通买家号以及速卖通跨境智星的功能。我想与大家分享一下我的经验和感受。 首先&#xff0c;我了解到速卖通买家号可以帮助产品在平台上提升排名&#xff…

stable diffusion学习笔记 手部修复

图片手部修复原理 某张图片在生成后&#xff0c;仅有手部表现不符合预期&#xff08;多指&#xff0c;畸形等&#xff09;。这种情况下我们通常使用【局部重绘】的方式对该图片的手部进行【图生图】操作&#xff0c;重新绘制手部区域。 但是仅采用重绘的方式也很难保证生成的…

逆向茶话会笔记

安卓逆向 用用burp设置代理或者用charles抓包 windows httpopen 类比web站点渗透测试 推荐书 飞虫 安卓大佬不怎么打ctf 喜欢在看雪和吾爱破解 提问环节 q websocket grpc抓包有什么推荐的工具&#xff1f; a 不太了解 游戏安全和llvm 既要逆游戏也要逆外挂 逆游戏入…

Linux基础命令—进程管理

基础知识 linux进程管理 什么是进程 开发写代码->代码运行起来->进程 运行起来的程序叫做进程程序与进程区别 1.程序是一个静态的概念,主要是指令集和数据的结合,可以长期存放在操作系统中 2.进程是一个动态的概念,主要是程序的运行状态,进程存在生命周期,生命周期结…

10分钟快速开始SkyWalking结合Springboot项目

10分钟快速开始SkyWalking结合Springboot项目 实习期间&#xff0c;公司让我去学习一下链路追踪如何集成到Springboot项目中。 为此有两个方案&#xff1a; 1.opentelementryjaegerprometheus opentelementry 收集器收集线上的metrics和traces&#xff0c;然后发送给jaeger和p…

清新文艺的微社区PaoPao

什么是 PaoPao &#xff1f; PaoPao 是一个 Go 写的轻量级社区。采用 GinVue 实现的微社区&#xff0c;界面清爽拥有话题、发布短内容、评论等功能。 安装 在群晖上以 Docker 方式安装。 本文写作时&#xff0c;bitbus/paopao-ce 镜像&#xff0c; latest 对应的版本是 0.5.2 …

数字化转型导师坚鹏:地市级政府数字化转型案例研究

地市级政府数字化转型案例研究 课程背景&#xff1a; 很多地市级政府存在以下问题&#xff1a; 不清楚地市级政府数字化转型的政务服务类成功案例 不清楚地市级政府数字化转型的社会管理类成功案例 不清楚地市级政府数字化转型的智慧城市类成功案例 课程特色&#xff…

【蓝桥杯】拓扑排序

一.拓扑排序 1.定义&#xff1a; 设G&#xff08;V&#xff0c;E&#xff09;是一个具有n个顶点的有向图&#xff0c;V中的顶点序列称为一个拓扑序列&#xff0c;当且仅当满足下列条件&#xff1a;若从顶点到有一条路径&#xff0c;则在顶点序列中顶点必在之前。 2.基本思想…

海南云仓酒庄拜会三亚市贸促会与三亚国际商会共谋发展 共绘蓝图

2024年2月23日上午&#xff0c;三亚市贸促会党组书记、会长、三亚国际商会会长方玉来在三亚国际商会会议室与海南云仓酒庄有限公司党支部书记蒋义一行进行了深入座谈交流&#xff0c;本次还有副会长张成山、秘书处副秘书长孙秋丽、李婧参加了座谈会。此次座谈会旨在加强双方的合…

JAVA毕业设计129—基于Java+Springboot+thymeleaf的物业管理系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootthymeleaf的物业管理系统(源代码数据库)129 一、系统介绍 本项目前后端分离&#xff0c;本系统分为管理员、小区管理员、用户三种角色 1、用户&#xff1a; 登…

yolov8车辆识别模型(附数据集)

目录 前言 一、我的数据集 二、其他车辆数据集 三、我的模型 四、模型训练&#xff08;一站式链接&#xff09; 五、我的训练过程 前言 因为为了做毕设&#xff0c;所以训练了一个道路监控的车辆模型。 效果不是很好&#xff0c;希望大佬们指导一下。 再此也分享我找了到的…