淘先锋技术网

首页 1 2 3 4 5 6 7

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

我们把库中表删了,重启下服务