一、 Spring Data
1.1 编写一个实体类和数据表进行映射,并且配置好映射关系
package com.weston.jpa.demo.entity;
import javax.persistence.*;
//配置映射关系
//告诉jpa这是一个实体类,默认表名user
@Entity
@Table(name="student")
public class stu {
//这是一个主键
@Id
//自增主键
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "last_name", length = 50)
private String username;
@Column
//默认列名是属性名
private String email;
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 getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public stu(Integer id, String username, String email) {
this.id = id;
this.username = username;
this.email = email;
}
}
1.2 编写一个DAO接口来操作实体类对应的数据表(Repository)
//继承JpaRepository类完成对数据库的操作
//对那个类进行操作,第二个参数是主键的类型
public interface stuRepository extends JpaRepository<stu, Integer> {
}
1.3 基本的配置(JpaProperties)
spring:
datasource:
username: root
data-password: 123
url: jdbc:mysql://localhost:3306/jdbc
jpa:
hibernate:
ddl-auto: update
#更新或者创建数据表结构
show-sql: true
#在控制台显示sql语句
1.4 运行
就会帮我们自动创建一个表
二、增删改查
- 使用前面的继承Dao接口来实现增删改查。
@RestController
public class userController {
@Autowired
stuRepository stuRe;
@GetMapping("/stu/{id}")
public stu getStu(@PathVariable("id")Integer id){
Optional<stu> byId = stuRe.findById(id);
stu stu = byId.get();
return stu;
}
@GetMapping("/stu")
public stu insertStu(stu stu1){
stu save = stuRe.save(stu1);
return save;
}
}