广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot+jpa配置怎么根据实体类自动创建表
  • 847
分享到

SpringBoot+jpa配置怎么根据实体类自动创建表

2023-06-25 17:06:55 847人浏览 独家记忆
摘要

这篇文章主要介绍“SpringBoot+jpa配置怎么根据实体类自动创建表”,在日常操作中,相信很多人在springBoot+jpa配置怎么根据实体类自动创建表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”S

这篇文章主要介绍“SpringBoot+jpa配置怎么根据实体类自动创建表”,在日常操作中,相信很多人在springBoot+jpa配置怎么根据实体类自动创建表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot+jpa配置怎么根据实体类自动创建表”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

jpa配置根据实体类自动创建表

1.配置文件application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/bootTable?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=truespring.datasource.username=rootspring.datasource.passWord=123456spring.datasource.driver-class-name=com.Mysql.cj.jdbc.Driverspring.jpa.database=mysqlspring.jpa.show-sql=truespring.jpa.hibernate.ddl-auto=updatespring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

2.pom.xml引入包

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

3.编写实体类

import javax.persistence.*;import java.io.Serializable;import java.util.Objects;@Entity//声明实体类public class User implements Serializable {    @Id    //声明了实体唯一标识对应的属性    @GeneratedValue    //自增    private Integer id;    @Column(nullable = false, unique = true, length = 32)    //长度32,唯一索引,nullable表示true可以为空,false不可以    //用来声明实体属性的表字段的定义    private String userName;    private String passWord;    private String email;    private String nickName;    private String regTime;    @Transient    //不映射成列的字段    private String desc;    //省略get和set方法}

4.运行项目

启动即可生成

5.针对项目启动以后数据库并未生成数据库表问题

包导的不对: import javax.persistence.*;

配置文件不对: spring.jpa.hibernate.ddl-auto=update

注解写的不对:不要忘记@Entity

还可能有一种原因:

Sprint的入口文件在子目录里了,应该比其他诸如service、dao、controller、entity高一级。

例如:service文件所在为com.demo.metaService,那么入口文件xxxApplication.java应该在com.demo下

jpa根据Entry自动生成表

1.加入依赖

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

若有依赖 spring-data-jpa 则删掉,否则会出现找不到 bootstrap 之类的错误

<!--        <dependency>--><!--            <groupId>org.springframework.data</groupId>--><!--            <artifactId>spring-data-jpa</artifactId>--><!--            <version>2.1.4.RELEASE</version>--><!--        </dependency>-->

2.配置 application.yml

增加Jpa 自动生成表的配置

spring:  jpa: ##配置自动建表:updata:没有表新建,有表更新操作,控制台显示建表语句    hibernate:      ddl-auto: update    show-sql: true

3. 创建Entity

个人建议创建一个基础Entity,用于表中常用字段创建配合 mybatisplus,jackson,SnowFlake,lombok 等库,自行导入相关注解请自行了解

BaseEntry.java

@Data//省略setget方法@MappedSuperclass //标注父类@EntityListeners(AuditingEntityListener.class) //jpa数据监听@JSONIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"}) //忽略解析的字段public abstract class BaseEntry implements Serializable{    private static final long serialVersionUID = 1L;    @Id    @TableId    @apiModelProperty(value = "唯一标识")    private String id = String.valueOf(SnowFlakeUtil.getFlowIdInstance().nextId());    @ApiModelProperty(value = "创建者")    @CreatedBy    private String createBy;    @CreatedDate    @jsonFORMat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")    @ApiModelProperty(value = "创建时间")    private Date createTime;    @ApiModelProperty(value = "更新者")    @LastModifiedBy    private String updateBy;    @LastModifiedDate    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")    @ApiModelProperty(value = "更新时间")    private Date updateTime;    @ApiModelProperty(value = "删除标志 默认0")    @TableLogic    private Integer delFlag = CommonConstant.STATUS_NORMAL;}

业务Entry ,仅做参考

@Data@Entity@Table(name = "tb_bussiness_up_record")@TableName("tb_bussiness_up_record")public class TbBussinessUpRecord  extends BaseEntry {    private static final long serialVersionUID = 1L;    @ApiModelProperty(value = "经销商")    private String bussinessId;    @ApiModelProperty(value = "审核时间")    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")    private String auditTime;}

到此,关于“SpringBoot+jpa配置怎么根据实体类自动创建表”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: SpringBoot+jpa配置怎么根据实体类自动创建表

本文链接: https://www.lsjlt.com/news/306171.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot+jpa配置怎么根据实体类自动创建表
    这篇文章主要介绍“SpringBoot+jpa配置怎么根据实体类自动创建表”,在日常操作中,相信很多人在SpringBoot+jpa配置怎么根据实体类自动创建表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”S...
    99+
    2023-06-25
  • SpringBoot+jpa配置如何根据实体类自动创建表
    目录jpa配置根据实体类自动创建表1.配置文件application.properties2.pom.xml引入包3.编写实体类4.运行项目5.针对项目启动以后数据库并未生成数据库表...
    99+
    2022-11-12
  • 解决Spring Data Jpa 实体类自动创建数据库表失败问题
    目录Spring Data Jpa 实体类自动创建数据库表失败找了半天发现是一个配置的问题可能导致JPA 无法自动建表的问题汇总1、没加@Entity或引错Entity所在包2、jp...
    99+
    2022-11-12
  • 怎么让java只根据数据库表名自动生成实体类
    这篇文章将为大家详细讲解有关怎么让java只根据数据库表名自动生成实体类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。根据数据库表名生成实体类公司用的jpa,没有用mybatis。所以也没有用mybati...
    99+
    2023-06-15
  • springBoot下怎么实现java自动创建数据库表
    这篇文章主要介绍了springBoot下怎么实现java自动创建数据库表的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot下怎么实现java自动创建数据库表文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-08
  • 怎么动态根据一个业务实体类型创建XSD架构文件
    这篇文章主要为大家展示了“怎么动态根据一个业务实体类型创建XSD架构文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么动态根据一个业务实体类型创建XSD架构文件”这篇文章吧。目前该功能仅仅是...
    99+
    2023-06-18
  • 启动Springboot项目后怎么实现自动创建多表关联的数据库
    这篇文章将为大家详细讲解有关启动Springboot项目后怎么实现自动创建多表关联的数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。sql脚本的语句就是平常的create建表语句,类似如...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作