一、编写一个实体类(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) // 这是和数据表对应的一个列,长度为50private 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-8username: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverspring:jpa:hibernate:ddl-auto: update ## 项目启动后,更新或者创建实体类对应的数据表结构show-sql: true ## 控制台打印sql
四、编写Controller测试
@RestControllerpublic class PersonController {@Autowiredpublic 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;}}
