Spring操作数据库的方式有很多种,这一遍我们讲解的是jpa(Java Persistence API)
一:创建数据库test
create database test
二:引入maven配置文件
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
一个是mysql的,一个是jpa
三:配置文件配置数据库
ddl-auto:create----每次运行该程序,没有表格会新建表格,表内有数据会清空
ddl-auto:create-drop----每次程序结束的时候会清空表
ddl-auto:update----每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新
ddl-auto:validate----运行程序会校验数据与数据库的字段类型是否相同,不同会报错
启动工程我们发现日志中一些变化
四:定义一个java类,并使用@Entity便签定义
package com.example.test;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;@Entity
public class Test {private Integer id;private Integer age;private String name;@Id@GeneratedValuepublic Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
我们发现库中自动生成这个表了
和数据的表自生成
我们再来看一下生成的表的建表语句
有模有样,哈哈,当然我们发现建的表是MyISAM类型的,这可不是我们想要的
我们想要innodb类型,如何是好
我们修改配置文件
添加了
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
我们把库中表删了,重启下服务