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.mzph.cn/news/270680.shtml

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

相关文章

显示器知识:分辨率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;当网…

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…

硬件知识:视频分配器、画面分割器、矩阵、延长器相关知识介绍

目录 1、视频分配器 2、视频切换器 3、视频矩阵 4、画面分割器 5、延长器 你知道视频分配器&#xff0c;画面分割器&#xff0c;矩阵各自的作用都是什么吗&#xff1f;今天小编就为大家详细的介绍下它们各自的区别。 1、视频分配器 视频分配器是一种把一个源平均分配成多路视频…

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

之间所讲的查询语句都是针对一个表的&#xff0c;但是在关系型数据库中&#xff0c;表与表之间是有联系的&#xff0c;所以在实际应用中&#xff0c;经常使用多表查询。多表查询就是同时查询两个或两个以上的表。在 MySQL 中&#xff0c;多表查询主要有交叉连接、内连接和外连接…

电脑常见的VGA、DVI、PS/2、USB等接口知识笔记

我们经常见到电脑和网络设备上都少不了VGA、DVI、PS/2、USB等常用接口&#xff0c;那些接口里面有多个针脚&#xff0c;他们每个针脚都有自己的用途&#xff0c;今天电脑学习小编就带大家一起看看这些接口神秘用途。 现在很多朋友们可能会遇到VGA线或HDMI线不够长&#xff0c;或…

数据库:MySQL、HBase、ElasticSearch三者对比

1、概念介绍 MySQL&#xff1a;关系型数据库&#xff0c;主要面向OLTP&#xff0c;支持事务&#xff0c;支持二级索引&#xff0c;支持sql&#xff0c;支持主从、Group Replication架构模型&#xff08;本文全部以Innodb为例&#xff0c;不涉及别的存储引擎&#xff09;。 HBas…

SpringBoot集成Mybatis用法笔记

今天给大家整理SpringBoot集成Mybatis用法笔记。希望对大家能有所帮助&#xff01;搭建一个SpringBoot基础项目。具体可以参考SpringBoot:搭建第一个Web程序引入相关依赖<dependencies><dependency><groupId>org.springframework.boot</groupId><ar…

网络知识:交换机中的半双工与全双工知识笔记

今天小编给大家分享一下交换机中半双工与全双工相关知识&#xff0c;希望对大家能有所帮助&#xff01; 早期的网络设备HUB&#xff08;集线器&#xff09;就是半双工&#xff0c;目前基本没有人用了&#xff0c;而现在用的SWITCH&#xff08;交换机&#xff09;就是全双工。 a…

硬件知识:U盘插入电脑没反应相关解决办法整理

目录 一、U盘可能被隐藏 二、USB端口被BIOS禁用 三、电脑的USB驱动可能有问题 今天小编给大家介绍一下U盘插入电脑没反应相应的解决方案&#xff0c;希望对大家能有所帮助&#xff01; 一、U盘可能被隐藏 首先换台电脑看看是不是U盘损坏的问题&#xff0c;如果不是&#xff0c;…

分享9个实用的电脑维修技巧,赶紧收藏吧

目录 01、电脑不能上网 02、电脑蓝屏 03、没有声音 04、没有画面 05、软件无法启动 06、显示器画面不能满屏显示 07、使用过程中自动关机 08、电脑不能开机 09、电脑花屏 今天给大家分享9个实用的电脑维修技巧&#xff0c;赶紧收藏吧&#xff01; 01、电脑不能上网 常见原因1&a…