JPA是什么?
JPA 是 Spring Boot 官方推荐的数据库访问组件。
JPA repository是什么?
spring中操作数据库的一个库
jpa repository常见用法
@Table(name = “数据库里对应的表名”)
用java类定义对应的数据库表
@Table(name = "fh_user")
public class UserDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name="user_name", length = 32)
private String userName;
@Column(name="nike_name", length = 32)
private String nikeName;
@Column(name="sex")
private Integer sex;
@UpdateTimestamp
@Column(name = "update_time")
private Date updateTime;
// 创建时间注解
@CreationTimestamp
@Column(name = "create_time")
private Date createTime;
}
@Repository的意义?
这个接口里定义了一系列操作数据库的方法。
@Repository
public interface UserRepository extends JpaRepository<UserDO, Integer> {
}
nativeQuery是什么意思?
@Query(value = "select * from schedule_job where status=1 and type != 'AutoETL'", nativeQuery = true)
List<ScheduleJob> getActiveScheduleJobs();
Repository里预定义的快捷数据库方法
有些内置的特殊命名的方法可以直接用:
如,find…By/findBy…, read…By, get…By, query…By, search…By, stream…By
// 通过UserName去query数据库,并返回UserDO结构的对象
Sort.TypedSort<UserDO> sort = Sort.sort(UserDO.class);
Slice<UserDO> users = userRepository.findByUserName("xxxx", PageRequest.of(0, 10, sort.by(UserDO::getId).descending()));