JPA即Java Persistence API,是一个基于O/R映射的标准规范,该规范只负责定义规则的标准(注解或接口),而不需要提供具体实现,具体的实现交由软件提供商来实现,目前主要的JPA提供商为Hibernate,EclipseLink和OperJPA。
在SpringBoot 默认的JPA实现者是Hibernate
我用的是mysql,所以加入mysql的配置
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>
application.properties
添加连接数据库的配置和引入Hibernate的配置
server.port=80
## 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/student
## 用户名
spring.datasource.username=root
## 密码
spring.datasource.password=123456
## 数据库驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring_jpa
#启动时会根据实体类生成数据表,或者更新表结构,不清空数据,开发阶段使用;validate:表结构稳定后使用,可用于正式环境;
spring.jpa.hibernate.ddl-auto=update
#控制台打印sql
spring.jpa.show-sql=true
#让控制器输出的json格式更美观
spring.jackson.serialization.indent-output=true
package com.zyf;
import javax.persistence.*;
/**
* Created by zhang on 2017/1/7.
*/
@Entity
@Table(name = "t_myuser")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Column(name = "user_name")
private String userName;
// @Column(name = "password")
private String password;
@Column(name = "nicke_name")
private String nickName;
@Column(name = "email")
private String email;
public User() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
运行代码发现数据库已经多了一张表