SpringDataJpa相关(一)
public interface UserRepository extends JpaRepository
public interface JpaRepository<T, ID extends Serializable>
extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {
List<T> findAll();
List<T> findAll(Sort sort);
List<T> findAll(Iterable<ID> ids);
<S extends T> List<S> save(Iterable<S> entities);
void deleteInBatch(Iterable<T> entities);
void deleteAllInBatch();
T getOne(ID id);
还有一些是这些封装的接口没办法实现的,但是springdataJpa可以用特殊的关键字查询,相当于一条条sql ,如下
public interface UserRepository extends JpaRepository<Users, Long> {
/**
* 根据手机号查询,相当于select * from users where phone= ?
* @param phone
* @return
*/
List<Users> queryUserByPhone(String phone);
/**
* 根据用户的名字和手机号查询
* sql相当于 select * from users where name=? and phone =?
* @param name
* @param phone
* @return
*/
List<Users> queryUserByNameAndPhone(String name,String phone);
/**
* 根据明细或者手机号查询
* sql 相当于 select * from users where name =? or phone =?
* @param name
* @param phone
* @return
*/
List<Users> queryUserByNameOrPhone(String name,String phone);
/**
* 根据添加时间区间查询用户
* @param minCreateAt
* @param maxCreateAt
* @return
*/
List<Users> queryUserByCreateAtBetween(Long minCreateAt,Long maxCreateAt);
/**
* 查询用户年龄小于某个值的用户列表
* sql相当于 select * from users where age < ?
* @param age
* @return
*/
List<Users> queryUserByAgeLessThan(Integer age);
/**
* 查询用户年龄大于某个值的用户列表
* sql 相当于 select * from users where age > ?
* @param age
* @return
*/
List<Users> queryUserByAgeGreaterThan(Integer age);
/**
* 查询用户添加时间大于某个时间之后的用户列表
* sql 相当于 select * from users where create_at > ?
* @param createAt
* @return
*/
List<Users> queryUserByCreateAtAfter(Long createAt);
/**
*查询用户添加时间在小于时间之后的用户列表
* sql 相当于 select * from users where create_at < ?
* @param createAt
* @return
*/
List<Users> queryUserByCreateAtBefore(Long createAt);
/**
* 查询用户手机号不为空的用户列表
* sql 相当于 select * from users where phone is null
* @return
*/
List<Users> queryUserByPhoneIsNull();
/**
* 查询用户手机号不为空的列表
* select * from users where phone is null
* @return
*/
List<Users> queryUserByPhoneIsNotNull();
/**
* 按照名字like查询
* sql 相当于 select * from users where name like ?
* @param name
* @return
*/
List<Users> queryUserByNameLike(String name);