首页>代码>Maven整合Spring data jpa、Spring MVC的入门项目实例,附带很好的Spring data jpa测试demo>/mysurvey/src/main/java/com/zhc/jpa/repository/SysUserRepositoryImpl.java
package com.zhc.jpa.repository;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.apache.commons.lang.StringUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;

import com.zhc.jpa.domain.SysUser;
/**
 * 扩展JpaRepository:写一个与接口(SysUserRepository)同名的类,加上后缀为Impl,这个在前面xml里面配置过,可以自动被扫描到。
 * 这个类不需要实现任何接口; (可以(JPQL)补充spring data jpa 动态查询不是很方便的缺点);
 * ps:实际开发中可以封装一些JPQL的常用操作(在此不详细介绍)
 * @author zhouhuachang@myhexin.com
 * time:2014-1-11
 */
public class SysUserRepositoryImpl {

	@PersistenceContext
	private EntityManager em;

	
	public Page<SysUser> getByCondition(SysUser sysUser) {
		StringBuffer hql = new StringBuffer("select u from SysUser u where 1=1");
		//此为测试,一般写好封装
		if (StringUtils.isNotBlank(sysUser.getAccount())) {
			hql.append(" and u.account=:account");
		}
		Query q = em.createQuery(hql.toString());
		if (StringUtils.isNotBlank(sysUser.getAccount())) {
			q.setParameter("account", sysUser.getAccount());
		}
		q.setFirstResult(0);
		q.setMaxResults(2);
		Page<SysUser> page = new PageImpl<SysUser>(q.getResultList(),new PageRequest(0, 2), 3);
		return page;
	}
}
最近下载更多
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日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友