整合JPA
JPA:ORM(Object Relational Mapping);
-
编写一个实体类(bean)和数据表进行映射;并且配置好映射关系
//使用JPA注解配置映射关系 @Entity //告诉JPA这是一个实体类(和数据表映射的类) @Table(name = "tbl_user") //指定和哪个数据表对应,如果省略默认类名小写 public class User { @Id //设置主键 @GeneratedValue(strategy = GenerationType.IDENTITY) //设置自增主键 private Integer id; @Column(name = "last_name",length = 20) //这是一个和数据表对应的一个列 private String lastName; @Column //默认列明就是属性名 private String email;
-
编写一个Dao接口来操作实体类对应的数据表(Repository)
//继承JpaRepository来完成对数据库的操作 //泛型第一个是要操作的实体类,第二个是实体类中的主键类型 public interface UserRepository extends JpaRepository<User,Integer> { }
-
基本的配置
spring: datasource: username: root password: url: jdbc:mysql://localhost:3306/jpa?characterEncoding=utf8 driver-class-name: com.mysql.jdbc.Driver jpa: hibernate: #更新或者创建数据表结构 ddl-auto: update #控制台显示sql show-sql: true
-
写一个Controller可以直接调用
@RestController public class UserController { @Autowired UserRepository userRepository; @RequestMapping("/user/{id}") public User getUser(@PathVariable("id") Integer id){ User user = userRepository.findById(id).get(); return user; } @RequestMapping("/user") public User insertUser(User user){ User save = userRepository.save(user); return save; } }