一、编写一个实体类(Bean)和数据表进行映射,并配置好映射关系
// 使用JPA注解配置映射关系
@Entity // 告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "person_jpa") // 指定和哪个数据表对应,如果省略默认表名就是类名
public class Person {
@Id // 这是一个主键
@GeneratedValue(strategy = GenerationType.IDENTITY) // 设置自增
private Integer id;
@Column(name = "last_name",length = 50) // 这是和数据表对应的一个列,长度为50
private String lastName;
@Column // 省略默认列名就是属性名
private Float email;
// 省略gat 和 set
}
二、编写要给Dao接口来操作实体类对应的数据表(Repository)
// 继承JpaRepository来完成对数据库的操作,自带CRUD功能和分页排序等功能
public interface PersonRepository extends JpaRepository<Person, Integer> {
}
三、基本的配置JpaProperties
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
spring:
jpa:
hibernate:
ddl-auto: update ## 项目启动后,更新或者创建实体类对应的数据表结构
show-sql: true ## 控制台打印sql
四、编写Controller测试
@RestController
public class PersonController {
@Autowired
public PersonRepository personRepository;
@GetMapping("getPerson/{id}")
public Person getPersonById(@PathVariable(name = "id") Integer id){
Optional<Person> person = personRepository.findById(id);
return person.isPresent() ? person.get() : null;
}
@GetMapping("insertPerson")
public Person insertPerson(Person person){
Person save = personRepository.save(person);
return save;
}
}