springboot实现表的自建

在springboot中,编写表对应的实体类,可以实现自动建表。而不需要自己到数据库中创建表。

条件如下:

1.在pom.xml中添加依赖:

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

 

2.在application.properties中添加对应的配置:前两部分分别是数据库的连接配置和连接池的配置。

      spring.jpa.properties.hibernate.hbm2ddl.auto=update  这句才是实现自动建表的语句。该属性在第一次会创建表,而之后每次会更新数据表中的信息。  

        除了update 还有其他值:create-drop:表示当jpa应用时会自动建表,而当应用结束后会删除表。  create:在每次应用启动的时候都会创建表,但是会删除之前的。

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=TS1374206028
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.tomcat.max-active=20
spring.datasource.dbcp2.max-idle=8
spring.datasource.dbcp2.min-idle=8
spring.datasource.dbcp2.initial-size=10

spring.jpa.properties.hibernate.hbm2ddl.auto=update

3.在创建的实体类中要添加相应注解注解,意思是告诉springboot这是要创建表的实体类,才会创建在实体类上加上注解

@Entity

代码如下:我创建的是test表,其中有id name sex 和createAt四个字段。然后点击主程序进行运行

package com.example.demo.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Test implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer id;
	private String name;
	private String sex;
	@Id
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public Date getCreateAt() {
		return createAt;
	}
	public void setCreateAt(Date createAt) {
		this.createAt = createAt;
	}
	private Date createAt;
}

4.运行成功后会在数据库中看到该表。

 

5.如果你在运行中出现以下错误代码:

则是没有设置主键,需要设置主键才可以。这时注意仔细看我上面的代码:在id的上面有一个注解:@Id,意思是这个字段为id主键。

 

 

 

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值