简单的来说,Jpa就是一个和mybatis-plus功能类似的一个持久层框架,也是将所有基本的CRUD操作封装好了,下面来介绍一下自动生成数据库表的操作。

JPA常用注解

1、常用基本注解

@Entity

@Table

@Basic

@Column

@GeneratedValue

@Id

@OneToMany

@ManyToOne

@ManyToMany

具体用法可以自行百度。

1.引入依赖。这是我做一个项目的所有依赖,基本就是所有springboot都需要的依赖,如果那个maven-plugin爆红只需要改成和自己springboot同样的version就可以了

<?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>2.5.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.gao</groupId><artifactId>boke2</artifactId><version>0.0.1-SNAPSHOT</version><name>boke2</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>6.1.0.Final</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.5.3</version></plugin></plugins></build>
</project>

2.下一步编写配置文件,因为我是用的mysql最新版本所以数据源和时区必须要有,就是一些简单的配置,加上日志

server:port: 8080
spring:thymeleaf:mode: HTMLdatasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/blog?useSSL=false&useUnicode=true&characterEncoding=UTF-8&severTimezone=GMT%2B8&allowPublicKeyRetrieval=trueusername: rootpassword: 123456aop:proxy-target-class: trueauto: truejpa:hibernate:ddl-auto: updateshow-sql: true
logging:level:root: infocom.lrm: debug

3.编写实体类(本文拿博客的几个实体类为例),这里可以使用Lombok添加注解,来添加get,set方法,tostring,无参构造和有参构造, 第一个表为博客表,第二个为博客类型表,第三个为用户表,标签表和type表基本一样,这个就相当于mybatis里的外键,根据表之间的映射关系添加注解,然后生成数据库,这里的@Id注解不要导错包,是import javax.persistence.*;这个包下的

@Entity
@Table( name= "t_blog")
public class Blog {@Id@GeneratedValueprivate Long id;private String title;@Basic(fetch = FetchType.LAZY)@Lobprivate String content;private String firstPicture;private String flag;private Integer views;private boolean appreciation;private boolean commentabled;private boolean published;private boolean recommend;private boolean shareStatement;private Date createTime;private Date updateTime;@ManyToOneprivate Type type;@ManyToMany(cascade = {CascadeType.PERSIST})private List<Tag> tags = new ArrayList<>();@ManyToOneprivate User user;}
@Entity
@Table(name="t_type")
public class Type {@Id@GeneratedValueprivate Long id;@NotBlank(message="分类名称不能为空")private String name ;@OneToMany(mappedBy = "type")
private List<Blog> blogs=new ArrayList<>();
}
@Entity
@Table(name="t_user")
public class User {@Id@GeneratedValue
private Long id;
private String nickname;
private String username;
private String password;
private String email;
private String avatar;
private Integer type;
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@Temporal(TemporalType.TIMESTAMP)
private Date updateTime;
@OneToMany(mappedBy = "user")
private List<Blog> blogs=new ArrayList <>();
}

4.创建数据库,生成数据表

创建一个数据库,数据库的名字为前边在配置文件中配置的,然后在启动类启动,即可生成对应的数据表。

就是简单的写了一下,如果出现问题可以评论一起探讨。

												

JPA自动生成数据库表教程相关推荐

  1. jPA自动创建数据库表的一些配置

    2019独角兽企业重金招聘Python工程师标准>>> jPA自动创建数据库表的一些配置 hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如 ...

  2. Hibernate中自动生成数据库表的两种方式

    第一种方式:Hibernate中利用工具类自动生成数据库表 1.建好POJO object, XML Mapping File,配置文件(hibernate.cfg.xml). 2.编写工具类 imp ...

  3. 使用hibernate自动生成数据库表

    使用hibernate自动生成数据库表 使用hibernate自动生成数据库表在hibernate3.2以后有两种方式: 1,使用hbm.xml形式:2,使用注解的形式. 本文介绍第一种方式: IDE ...

  4. 配置spring整合jpa自动生成数据表

    配置spring整合jpa自动生成数据表 applicationContext.xml <?xml version="1.0" encoding="UTF-8&qu ...

  5. java实体类生成mysql表_springboot+mybatis通过实体类自动生成数据库表的方法

    前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 org.mybatis ...

  6. 自动生成数据库表结构word文档的工具(一)---- DBDocumentGenerator

    背景: 项目中需要编写数据库表结构文档,手动编写繁琐,格式难统一,且易出错,有没有自动生成数据库表结构文档的工具 方案 DBDocumentGenerator 数据字典生成工具,用于生成 数据库表 及 ...

  7. 使用java通过固定的excel模板自动生成数据库表的ddl建表语句

    有时候要建很多表或一个表有很多字段,一个个复制字段弄太麻烦了,为了提高点工作效率,写了个小工具通过固定的excel模板自动生成基础的ddl建表语句 maven依赖 <!--核心jar包--> ...

  8. 根据Excel表的配置,自动生成数据库表的CRUD以及相关的Winform列表和编辑界面程序文件,接上篇(自动生成实体类)

    本文仍然属于一个自动生成代码工具. 上一篇我们根据数据库表的信息,自动生成实体类.cs文件.这次我们根据Excel配置,直接生成CRUD以及窗体列表和编辑界面相关的程序源文件. 通过自动生成代码,这样 ...

  9. python连接mysql,自动生成数据库表对应的word文档(毕设福利)

    效果图 运行程序后生成的word文档 所需依赖 安装两个依赖插件 pip install pymysql pip install python-docx python程序 #!/usr/bin/pyt ...

  10. 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档(转

    对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...

最新文章

  1. 利用泛型接口实现生成器
  2. C语言入门经典——基础知识(指针 数组 多维数组)
  3. 压缩维度oj P1173+P1174+P1164
  4. 使用 ApiGen 生成开发文档
  5. 日志审计产品(转载)
  6. Lattice 的 Framebuffer IP核使用调试笔记之datasheet笔记
  7. Navicat Premium创建MySQL存储过程
  8. Docker部署Redis容器
  9. 数据结构与算法之单链表(1)
  10. ORA-27101: shared memory realm does not exist 错误的处理(ORA-01034 - Oracle not available )
  11. STM32重上电后,HAL_GetDEVID返回0
  12. 重磅:向996开炮!携程带头居家办公。
  13. sql-插入当前时间
  14. EF实体框架 5 性能注意事项
  15. Python:计算KDJ指标
  16. 防火墙工作在哪个层_数据库安全关键技术之数据库防火墙技术
  17. 解决win10下PPT打不开,显示内容有问题,提示修复但修复不成功问题
  18. java 配置文件加密_Spring cloud config 配置文件加密方式
  19. springboot 使用mybatis-plus 配置乐观锁。
  20. 2022年京东双11和天猫双11预售时间介绍

热门文章

  1. 三丰三坐标编程基本步骤_贴片机编程教程,编程步骤,编程怎么编
  2. 笔记本电脑不要锁定计算机,笔记本电脑键盘怎么解锁呢
  3. 进计算机本地安全策略的命令,Win10还原本地安全策略和使用命令行重置组策略方法...
  4. java emf 转jpg_JAVA读取EMF文件并转化为PNG,JPG,GIF格式
  5. flame linux mac,Autodesk版蓝宝石插件 GenArts Sapphire V10.0 (Mac/Linux)
  6. EMD(经验模态分解)
  7. 百度计算机视觉算法工程师面试题(秋招)
  8. 字节跳动计算机视觉算法工程师面试题(秋招)
  9. AI 算法工程师面试高频 100 题(附答案详解)
  10. android系统下载管理器,android 系统下载管理器