Spring技术内幕之Spring Data JPA-自定义Repository实现

本文介绍了如何在Spring Data JPA中自定义Repository接口,并通过继承中间接口而非直接继承Repository来实现特定功能。同时,文章提到了使用PersionRepository的示例,通过Spring注解进行依赖注入。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

1.自定义Repository方法接口,让接口的实现类来继承这个中间接口而不是Repository接口

package com.data.jpa.dao;import java.io.Serializable;import java.util.List;import java.util.Map;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.repository.NoRepositoryBean;/** * 自定义Repository的方法接口 * @author xiaowen * @param <T> 领域对象即实体类 * @param <ID>领域对象的注解 */@NoRepositoryBeanpublic interface CustomRepository <T, ID extends Serializable> extends JpaRepository<T, ID> /**  * 保存对象<br/>  * 注意:如果对象id是字符串,并且没有赋值,该方法将自动设置为uuid值  * @param item  *            持久对象,或者对象集合  * @throws Exception  */ public void store(Object... item);  /**  * 更新对象数据  *   * @param item  *            持久对象,或者对象集合  * @throws Exception  */ public void update(Object... item);  /**  * 执行ql语句  * @param qlString 基于jpa标准的ql语句  * @param values ql中的?参数值,单个参数值或者多个参数值  * @return 返回执行后受影响的数据个数  */ public int executeUpdate(String qlString, Object... values)/**  * 执行ql语句  * @param qlString 基于jpa标准的ql语句  * @param params key表示ql中参数变量名,value表示该参数变量值  * @return 返回执行后受影响的数据个数  */ public int executeUpdate(String qlString, Map<String, Object> params);  /**  * 执行ql语句,可以是更新或者删除操作  * @param qlString 基于jpa标准的ql语句  * @param values ql中的?参数值  * @return 返回执行后受影响的数据个数  * @throws Exception  */ public int executeUpdate(String qlString, List<Object> values);  /***还可以定义分页相关方法,此处暂不支持**/}
2.自定义repository的方法接口实现类,作为Repository代理的自定义类来执行,该类主要提供自定义的公用方法

package com.data.jpa.dao.impl;import java.io.Serializable;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.List;import java.util.Map;import javax.persistence.EntityManager;import javax.persistence.Id;import javax.persistence.Query;import org.apache.log4j.Logger;import org.springframework.data.jpa.repository.support.SimpleJpaRepository;import com.data.jpa.dao.CustomRepository;import com.data.jpa.util.ReflectHelper;import com.data.jpa.util.UUIDUtil;/** * 自定义repository的方法接口实现类,该类主要提供自定义的公用方法 *  * @author xiaowen * @date 2016年5月30日 @ version 1.0 * @param <T> * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值