/**
*
*/
package com.xyd.userDao;
import java.io.Serializable;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
* @author admin
*
*/
@NoRepositoryBean //指明不是自己私人的领域接口
//实现PagingAndSortingRepository接口,具备分页和排序功能
public interface CustomRepository <T,ID extends Serializable> extends PagingAndSortingRepository<T, ID>{
//这里可以写自己定义的数据操作方法
}
/**
*
*/
package com.xyd.userDao.impl;
import java.io.Serializable;
import javax.persistence.EntityManager;
import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
import com.xyd.userDao.CustomRepository;
/**
* @author admin
*实现自定义接口类
*/
public class CustomRepositoryImpl<T,ID extends Serializable> extends SimpleJpaRepository<T, ID> implements CustomRepository<T,ID>{
private final EntityManager entityManager;
/**
* @param domainClass
* @param em
*/
public CustomRepositoryImpl(Class<T> domainClass, EntityManager em) {
super(domainClass, em);
this.entityManager = em;
}
}
编写userRepostory
public interface TestUserRep extends CustomRepository<User,Integer>{
@Query("select u from User u where u.userName= :userName and u.email= :email")
User findUser(@Param("userName")String userName,@Param("email")String email);
}
最后在controller里可以使用
public class UserControler{
@AutoWired
TestUserRep userRep;
public User findUser(String userName,String email){
User user = userRep.finUser(userName,email);
}
}