开发者

Springboot启动同时创建数据库和表实现方法

目录
  • 自动创建数据库
  • 自动创建表
  • 自动执行初始化sql 文件

自动创建数据库

spring boot 自带 如果数据库不存在,可以自动创建数据库

spring.datpythonasource.url=j开发者_JAVA入门dbc:m编程ysql://localhost:3306/test?createDatabaseIfNotExist=true&characterEncoding=utf8mb4&useSSL=false&allowpublicKeyRetrieval=true

createDatabaseIfNotExist=true 数据库连接加此参数即可,但是数据库名称,中间不可以有 - 字符(横线 或 减号),但 下划线可以

自动创建表

引用包

    api('org.springframework.boot:spring-boot-starter-web:2.6.2')
    api('org.springframework.boot:spring-boot-starter-data-jpa:2.6.2')
    implementation('mysql:mysql-connector-Java:8.0.27')

使用 JPA 设置库表对应实体

/**php
 * 设备相关的所有日志
 */
@Data
@Entity
@Table(name = "test")
public class Test
     /**
    * id
     **/
     @Id
     @GeneratedValuephp(strategy = GenerationType.IDENTITY)
	private Integer id;
    /**
    * 名称
     **/
	private String name;
}

在启动时会自动 创建 表,如果表已经存在,但新增加的字段不存在那么,会自动创建字段,如果字段已经存在,那么什么也不改变。

所以,如果实体对应的字段 类型变了,需要javascript手动去更改字段类型

此处受spring.jpa.hibernate.ddl-auto配置影响

自动执行初始化sql 文件

配置如下

spring.sql.init.mode=always

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

ddl-auto 枚举:

none(默认):禁用DDL处理

validate:验证schema,不做任何操作

update: 更新schema

create: 删除表,重新创建schema

create-drop: 会话创建时创建schema,会话关闭时销毁schema

初始化时,如果 resources目录下存在 schema.sql文件和data.sql文件,那么会自动执行。

如果文件不存在则不执行。

使用最多时data.sql文件,自动生成一些定义好的数据

到此这篇关于Springboot启动同时创建数据库和表实现方法的文章就介绍到这了,更多相关Springboot创建数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜