广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot+jpa配置如何根据实体类自动创建表
  • 921
分享到

SpringBoot+jpa配置如何根据实体类自动创建表

2024-04-02 19:04:59 921人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录jpa配置根据实体类自动创建表1.配置文件application.properties2.pom.xml引入包3.编写实体类4.运行项目5.针对项目启动以后数据库并未生成数据库表

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

1.配置文件application.properties


spring.datasource.url=jdbc:Mysql://localhost:3306/bootTable?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.passWord=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database=mysql
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.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;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

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

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

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

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

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

下载Word文档
猜你喜欢
  • SpringBoot+jpa配置如何根据实体类自动创建表
    目录jpa配置根据实体类自动创建表1.配置文件application.properties2.pom.xml引入包3.编写实体类4.运行项目5.针对项目启动以后数据库并未生成数据库表...
    99+
    2022-11-12
  • SpringBoot+jpa配置怎么根据实体类自动创建表
    这篇文章主要介绍“SpringBoot+jpa配置怎么根据实体类自动创建表”,在日常操作中,相信很多人在SpringBoot+jpa配置怎么根据实体类自动创建表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”S...
    99+
    2023-06-25
  • 解决Spring Data Jpa 实体类自动创建数据库表失败问题
    目录Spring Data Jpa 实体类自动创建数据库表失败找了半天发现是一个配置的问题可能导致JPA 无法自动建表的问题汇总1、没加@Entity或引错Entity所在包2、jp...
    99+
    2022-11-12
  • Springboot如何根据实体类生成数据库表
    目录Springboot 实体类生成数据库表第一步:添加springboot-data-jpa和数据库的依赖关系第二步:编写yml文件的配置第三步:实体类中使用的注解第四步:启动项目...
    99+
    2022-11-12
  • 如何使用Hibernate根据实体类自动生成表
    本篇内容介绍了“如何使用Hibernate根据实体类自动生成表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一种方法这种方法需要配置 hi...
    99+
    2023-07-05
  • 如何让java只根据数据库表名自动生成实体类
    根据数据库表名生成实体类 公司用的jpa,没有用mybatis。所以也没有用mybatis自动生成。但有些数据库表字段太多,就想着一劳永逸了,连数据库注释都搞上去 第一种 这里使用的...
    99+
    2022-11-12
  • SpringBoot如何根据目录结构自动配置Url前缀
    这篇文章主要为大家展示了“SpringBoot如何根据目录结构自动配置Url前缀”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringBoot如何根据目录结构自动配置Url前缀”这篇文章吧。...
    99+
    2023-06-25
  • IDEA中如何根据数据库自动生成实体类
    这篇文章主要介绍“IDEA中如何根据数据库自动生成实体类”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“IDEA中如何根据数据库自动生成实体类”文章能帮助大家解决问题。1. IDEA连接数据库点击右侧...
    99+
    2023-07-05
  • springBoot中如何实现java自动创建数据库表功能
    小编给大家分享一下springBoot中如何实现java自动创建数据库表功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SpringBoot环境启动项目创建数据...
    99+
    2023-06-20
  • Mybatis如何自动生成数据库表的实体类
    第一步引入jar 第二步,配置文本文件 # 数据库驱动jar 路径 本地创库的包 drive.class.path=C:/Users/Administrator/.m2/re...
    99+
    2022-11-12
  • Java如何实现自动数据库表的创建
    要实现自动创建数据库表,您可以使用Java的数据库操作API(如JDBC)结合SQL语句来完成。下面是一个基本的Java代码示例,演...
    99+
    2023-09-27
    Java 数据库
  • Mybatis如何通过数据库表自动生成实体类和xml映射文件
    本篇内容主要讲解“Mybatis如何通过数据库表自动生成实体类和xml映射文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mybatis如何通过数据库表自动生成实体类和xml映射文件”吧!环境...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作