spring data实现自定义的repository实现类,实现跟jpa联通

如果你不想暴露那么多的方法,可以自己订制自己的Repository,还可以在自己的Repository里面添加自己使用的公共方法

当然更灵活的是自己写一个实现类,来实现自己需要的方法

1:写一个与接口同名的类,加上后缀为Impl,这个在前面xml里面配置过,可以自动被扫描到。这个类不需要实现任何接口。

2:在接口中加入自己需要的方法,比如:

public Page<Object[]> getByCondition(UserQueryModel u);

3:在实现类中,去实现这个方法就好了,会被自动找到

java代码:

    @PersistenceContext
    private EntityManager em;
    public Page<Object[]> getByCondition(UserQueryModel u){
String hql = "select o.uuid,o.name from UserModel o where 1=1 and o.uuid=:uuid";
        Query q = em.createQuery(hql);
        q.setParameter("uuid", u.getUuid());
        q.setFirstResult(0);
        q.setMaxResults(1);
Page<Object[]> page = new PageImpl<Object[]>(q.getResultList(),new PageRequest(0,1),3);
        return page;
}}
时间: 2024-08-28 04:30:25

spring data实现自定义的repository实现类,实现跟jpa联通的相关文章

Spring Data Redis 2.x 中 RedisConfiguration 类的新编写方法

在 Spring Data Redis 1.x 的时候,我们可能会在项目中编写这样一个RedisConfig类: @Configuration @EnableCaching public class RedisConfig { @SuppressWarnings({ "rawtypes", "unchecked" }) @Bean(name = "redisTemplate") public RedisTemplate initRedisTemp

初入spring boot(八 )Spring Data REST

1. 什么是Spring Data REST Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源.目前Spring Data REST支持将Spring Data JPA.Spring Data MongoDB.Spring Data Neo4j.Spring Data Gemfire以及Spring Data Cassandra的Repository自动转换成REST服务. 2. Spring mvc中配置使

看Spring Data如何简化数据操作

Spring Data 概述 Spring Data 用于简化数据库访问,支持NoSQL 和 关系数据存储,其主要目标是使数据库的访问变得方便快捷.SpringData 项目所支持 NoSQL 存储:MongoDB (文档数据库)Neo4j(图形数据库)Redis(键/值存储)Hbase(列族数据库)SpringData 项目所支持的关系数据存储技术:JDBCJPA Spring Data JPA JPA Spring Data : 致力于减少数据访问层 (DAO) 的开发量. 开发者唯一要做的

SpringBoot整合Spring Data Elasticsearch

Spring Data Elasticsearch提供了ElasticsearchTemplate工具类,实现了POJO与elasticsearch文档之间的映射 elasticsearch本质也是存储数据,它不支持事物,但是它的速度远比数据库快得多, 可以这样来对比elasticsearch和数据库 索引(indices)--------数据库(databases) 类型(type)------------数据表(table) 文档(Document)---------------- 行(ro

随便说说Spring Data JPA(包含分页,复合查询)

最近没事做,闲着也是闲着,随便写写,自己说说,不提供参考价值. Spring Data JPA是Spring Data家族的一部分,可以轻松实现基于JPA的存储库. 此模块处理对基于JPA的数据访问层的增强支持. 它使构建使用数据访问技术的Spring驱动应用程序变得更加容易. 在相当长的一段时间内,实现应用程序的数据访问层一直很麻烦. 必须编写太多样板代码来执行简单查询以及执行分页和审计. Spring Data JPA旨在通过减少实际需要的工作量来显著改善数据访问层的实现. 作为开发人员,您

elasticsearch 拼音+ik分词,spring data elasticsearch 拼音分词

elasticsearch 自定义分词器 安装拼音分词器.ik分词器 拼音分词器: https://github.com/medcl/elasticsearch-analysis-pinyin/releases ik分词器:https://github.com/medcl/elasticsearch-analysis-ik/releases 下载源码需要使用maven打包 下载构建好的压缩包解压后放直接在elasticsearch安装目录下 plugins文件夹下,可以重命名 1.在es中设置分

Spring Data介绍

Spring Data是Spring 的一个子项目.用于简化数据库访问,支持NoSQL和关系数据库存储.其主要目标是使数据库的访问变得方便快捷. Spring Data 项目所支持NoSQL存储: MongoDB(文档数据库) Neo4j (图形数据库) Redis(键/值存储) Hbase(列族数据库) Spring Data 项目所支持的关系数据存储技术: JDBC JPA 其他技术介绍 1. Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻

spring data jpa自定义baseRepository

在一些特殊时候,我们会设计到对Spring Data JPA中的方法进行重新实现,这将会面临一个问题,如果我们新创建一个实现类.如果这个实现类实现了JpaRepository接口,这样我们不得不实现该接口中的所有方法,如果不实现该接口,那意味着我们就无法使用Spring Data JPA中给我们提供的那些好用的方法.所以在扩展的时候我们需要按照如下方法进行. 这些需要注意的是,接口和实现类的名称必须遵循spring data jpa的命名规范,如果要为接口StudentBaseRepositor

Spring data JPA 理解(默认查询 自定义查询 分页查询)及no session 两种处理方法

简介:Spring Data JPA 其实就是JDK方式的动态代理 (需要一个接口 有一大堆最上边的是Repository接口来自org.springframework.data.repository,还有CrudRepository接口及一个实现类SimpleJpaRepository),只要有接口就可以查询数据库了,实际上就是proxy的方法,具体查询的方法有两种一种是简单式就是方法名为findBy+属性名+(AndOrIsEquals等)另一种是自定义的方法就是属性名是瞎起的向abc xy