[Spring Data Repositories]学习笔记--定义自己的repository
有时,我们会需要用到自己定义的一些查询方法,可以按照下面几步进行。
1. 定义一个包含该方法的接口
Interface UserRepositoryCustom {
public void someCustomMethod(User user);
}
2. 定义实现
class UserRepositoryImpl implements UserRepositoryCustom {
public void someCustomMethod(User user){
//Your custom implementation
}
}
3. 定义你要用的repository
public interface UserRepository extends CrudRepository<User,Long>, UserRepositoryCustom {
//Declare query methods here.
}
4. 有两种方式可以对repository进行配置
4.1 通过统一的后缀名(限制是自己的implementation必须进行annotation配置,而且仅用于autowired)
<repositories base-package="com.acme.repository"/>//默认后缀为Impl
<repositories base-package="com.acme.repository" repository-impl-postfix="FooBar"/>
如果没有配置后缀,默认会找UserRepositoryImpl这个类。
4.2 自己定义bean
<repositories base-package="com.acme.repository"/>
<beans:bean id="userRepositoryImpl" class="...">
<!--further configuration-->
</beans:bean>
上面这种方法只能针对单一的repository,如果想所有的repository都包含这个方法,请看下一篇。
[Spring Data Repositories]学习笔记--定义自己的repository的更多相关文章
- [Spring Data Repositories]学习笔记--为repository添加通用的方法
如果想把一个方法加到所有的repository中,用前一篇提到的方法就不合适了. 英文原版,请看 http://docs.spring.io/spring-data/data-mongo/docs/1 ...
- [Spring Data Repositories]学习笔记--使用现有的repository
以下内容是在学习Spring-Data-mongoDB中的Spring Data Repositories时做的一些笔记.备忘! 感觉学习还是看官方的资料比较透彻一些. Spring Data Rep ...
- 031 Spring Data Elasticsearch学习笔记---重点掌握第5节高级查询和第6节聚合部分
Elasticsearch提供的Java客户端有一些不太方便的地方: 很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的 需要自己把对象序列化为json存储 查询到结果也需要自己 ...
- [Spring Data MongoDB]学习笔记--MongoTemplate查询操作
查询操作主要用到两个类:Query, Criteria 所有的find方法都需要一个query的object. 1. 直接通过json来查找,不过这种方式在代码中是不推荐的. BasicQuery q ...
- [Spring Data MongoDB]学习笔记--_id和类型映射
_id字段的映射: MongoDB要求所有的document都要有一个_id的字段. 如果我们在使用中没有传入_id字段,它会自己创建一个ObjectId. { , "accounts&qu ...
- [Spring Data MongoDB]学习笔记--牛逼的MongoTemplate
MongoTemplate是数据库和代码之间的接口,对数据库的操作都在它里面. 注:MongoTemplate是线程安全的. MongoTemplate实现了interface MongoOperat ...
- spring data jpa 学习笔记
springboot 集成 springData Jpa 1.在pom.xml添加依赖 <!-- SpringData-Jpa依赖--> <dependency <groupI ...
- [Spring Data MongoDB]学习笔记--MongoTemplate插入修改操作
插入操作: 直接给个例子 import static org.springframework.data.mongodb.core.query.Criteria.where; import static ...
- [Spring Data MongoDB]学习笔记--建立数据库的连接
1. 有了上一篇的Mongo后,连接数据库我们还需要更多的信息,比如数据库名字,用户名和密码等. 我们可以继续来配置MongoDbFactory的实例. public interface MongoD ...
随机推荐
- 持续集成之代码质量管理-Sonar
原文:http://blog.csdn.net/abcdocker/article/details/53840582 Sonar介绍 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Son ...
- $ 和getElementId的区别 / 一个jquery对象的原型
请说出 div 和 $div 的联系和区别 区别 div 返回一个HTML DOM Object $div 返回一个 jQuery Object, 两者不等价 $div是包装了dom对象后产生的,无法 ...
- Json_decode:详解
Json_decode:详解 json_decode - 对 JSON 格式的字符串进行编码 mixed json_decode ( string $json [, bool $assoc = f ...
- AND、OR运算符的组合使用
6.2.3 AND.OR运算符的组合使用 在WHERE子句中,通过AND.OR运算符能够同一时候连接多个条件.当然AND.OR运算符也能够同一时候使用.可是当AND.OR运算符同一时候存在时,其优先 ...
- 获取request中的查询参数
//获取request中的查询参数 public static Map<String, Object> getRequestParamsByMap(HttpServletRequest r ...
- 关于struts、spring 和 hibernate的说明
struts 是 web 框架 (jsp/action/actionfrom) hibernate 是 orm框架,处于持久层. spring 是容器框架,用于配置bean,并维护bean之间关系的框 ...
- AngularJs学习笔记(2)——ng-include
编写html文档的时候,为了实现代码模块化,增加复杂页面的代码可读性和可维护性,我们常常会想到将代码分散写入不同的HTML文件 angularJS里面的ng-include指令结合ng-control ...
- rxjs来啦
var text = document.querySelector('#text'); var inputStream = Rx.Observable.fromEvent(text, 'keyup') ...
- 调整Redmine的用户显示格式
在 Redmine 中新建用户时是酱紫的: 必须指定姓氏.名字.然后 Redmine 默认是按"名字 姓氏"这样的方式显示用户.比方"张三",会显示成" ...
- 辛星让mysql跑的更快第一节之优化的方向和数据库建模
近期计划写一套书目,也就是关于mysql的优化的.那么首先在博客上写写,然后整理成pdf的文档的形式,当然也期待各位的关注了.对于mysql的优化是一个比較大的话题.可优化的地方也非常多,大致想了一下 ...