首页>代码>Maven整合Spring data jpa、Spring MVC的入门项目实例,附带很好的Spring data jpa测试demo>/mysurvey/src/main/java/com/zhc/jpa/repository/SysUserRepository.java
package com.zhc.jpa.repository; import java.util.List; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import com.zhc.jpa.domain.SysUser; /** * 系统用户persistent接口 * @author zhouhuachang@myhexin.com * descr:<li> * Repository:是 Spring Data的一个核心接口,它不提供任何方法,开发者需要在自己定义的接口中声明需要的方法。 CrudRepository:继承Repository,提供增删改查方法,可以直接调用。 PagingAndSortingRepository:继承CrudRepository,具有分页查询和排序功能 JpaRepository:继承PagingAndSortingRepository,针对JPA技术提供的接口 JpaSpecificationExecutor:可以执行复杂的逻辑查询</li> * time:2014-1-10 */ public interface SysUserRepository extends JpaRepository<SysUser, Integer> , JpaSpecificationExecutor<SysUser>{ //JpaRepository自定义查询:直接在接口中定义查询方法,如果是符合规范的,可以不用写实现,目前支持的关键字写法如下 //更多自定义规则见:http://zhc3191012.blog.163.com/blog/static/1855533762014010102132984/ /** * 实体account属性查询(条件属性以首字母大写),作为查询条件的属性一定要遵守驼峰命名规范 * JPQL:from SysUser u where u.account=?1 */ SysUser findByAccount(String account); /** * 实体account属性模糊查询(条件属性以首字母大写),作为查询条件的属性一定要遵守驼峰命名规范 * JPQL:from SysUser u where u.account like ?1 */ SysUser findByAccountLike(String account); /** * 实体account属性查询(条件属性以首字母大写),作为查询条件的属性一定要遵守驼峰命名规范 * JPQL:from SysUser u where u.account in ?1 */ List<SysUser> findByAccountIn(List<String> accounts); /** * 实体account,password属性查询(条件属性以首字母大写),作为查询条件的属性一定要遵守驼峰命名规范 * JPQL:from SysUser u where u.account=?1 and u.password=?2 */ SysUser findByAccountAndPassword(String account,String password); /** * 实体account属性分页查询(条件属性以首字母大写),作为查询条件的属性一定要遵守驼峰命名规范 * page对象含有List<T> getContent()方法,可以去除对应数据 */ Page<SysUser>findByAccount(String account,Pageable pageable); //使用@Query自定义查询(Spring Data提供的) :可以在自定义的查询方法上使用@Query来指定该方法要执行的查询语句 //更多注解查询见:http://zhc3191012.blog.163.com/blog/static/1855533762014010105037704/ /** * 方法的参数个数必须和@Query里面需要的参数个数一致 */ @Query(" select o from SysUser o where o.account=?1") SysUser findUserByQuery(String account); /** * 方法的参数个数必须和@Query里面需要的参数个数一致(指定别名) */ @Query(" select o from SysUser o where o.account=:acc") SysUser findUserByQueryParam(@Param("acc")String account); }

guaixia163 LV13
2023年1月12日
aa123456awww LV8
2019年11月23日
元芳你怎么看 LV15
2019年9月19日
ZiruiSong LV7
2019年7月31日
Schikki LV1
2018年12月4日
chrisgong LV1
2018年7月20日
pcxcz123 LV6
2018年5月21日
咸蛋超人_92 LV1
2018年5月10日
erickingxl LV2
2018年4月25日
hwajl3656 LV1
2018年4月23日

xuxuer
2024年9月26日
暂无贡献等级
guaixia163 LV13
2023年1月12日
13165798872 LV11
2022年5月17日
fengshengtian LV8
2022年2月26日
CrystalQ LV8
2021年11月20日
余不二 LV2
2021年11月19日
dongliuxi LV3
2021年10月26日
wangxiaolaugh LV2
2021年9月30日
东方星空 LV1
2021年8月6日
洛神赋
2021年4月3日
暂无贡献等级