您的位置:首页 > 编程语言 > Java开发

Spring Data JPA 自定义查询

2017-09-26 14:34 609 查看
spring data jpa 提供了方便快捷的查询数据库方式,只要按照它的约定,编写接口和函数定义,即可很方便的从数据库中查询到想用的数据。但是每个应用业务逻辑的复杂度不同,有时候是必须要自己定义JPQL甚至native sql 来做自己的查询,本文介绍如何创建自定义的查询。

1. 自定义一个接口,该接口用来声明自己额外定义的查询。

public interface CustomizedLogRepository {

public List<LogDTO> searchLogs(String appId, String keyword);

public long searchLogCount(String appId, String keyword);
}


2. 创建一个接口,该接口 extends JpaRepository 或者 CurdRepository, 以及上面自己定义的接口 CustomizedLogRepository

public interface LogRepository extends CrudRepository<LogDTO, Integer>, CustomizedLogRepository {

}


3. 实现LogRepository

注意此处的类名,必须以 2 中创建的接口的名字LogRepository ,后面加上 Impl 来声明,而不是写成 CustomizedLogRepositoryImpl

public class LogRepositoryImpl implements CustomizedLogRepository {

@Autowired
@PersistenceContext
private EntityManager entityManager;

@Override
public List<Ankonlog> searchLogs(String appId, String keyword) {
......
}

@Override
public long searchLogCount(String appId, String keyword) {
......
}
}


至此,自定义JPQL查询完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring-boot