JPQL常见查询语句
2015-08-16 09:58
351 查看
1.根据字段名称判断是否存在记录:
public boolean classNameExist(String className, DictSchool dictSchool) { if (className == null) { return false; } String jpql = "select count(*) from DictClass dictClass where lower(dictClass.name) = lower(:className) and dictClass.dictSchool = :dictSchool"; Long count = entityManager.createQuery(jpql, Long.class).setFlushMode(FlushModeType.COMMIT).setParameter( "className", className).setParameter("dictSchool", dictSchool).getSingleResult(); return count > 0; }
2.根据字段查询List集合
public List<DictClass> getClassesBySchool(DictSchool school) { if (school == null) { logger.info("DictClassDaoImpl getClassesBySchool: " + "school is null"); return null; } try { String jpql = "select dictClass from DictClass dictClass where dictClass.dictSchool = :school"; return entityManager.createQuery(jpql, DictClass.class).setFlushMode(FlushModeType.COMMIT).setParameter( "school", school).getResultList(); } catch (NoResultException e) { logger.error("DictClassDaoImpl getClassesBySchool: " + e.getMessage()); return null; } }
3.查询在某日期区间的记录 日期格式换化 DATE_FORMAT
select count(*) from TeacherAskLeave teacherAskLeave where lower(TeacherAskLeave.leaveMember) = lower(:member) and lower(:date) between DATE_FORMAT(TeacherAskLeave.leaveStartDate,'%Y-%m-%d') and DATE_FORMAT(TeacherAskLeave.leaveEndDate,'%Y-%m-%d');
select count(*) from TeacherAskLeave teacherAskLeave where lower(TeacherAskLeave.leaveMember) = lower(:member) and lower(:date) >= (TeacherAskLeave.leaveStartDate) and lower(:date)< (TeacherAskLeave.leaveEndDate);
相关文章推荐
- mysql安装问题解决办法
- 将NGINX加入到系统服务
- github ssh连接
- java:Iterator和ListIterator
- 改善Java文档的理由、建议和技巧
- 二分模版
- 2060年软件工程师会像电报报务员那样过时?
- android res values出错的解决办法
- 常量和变量
- android跨进程通讯一:android中跨进程通讯的4种方式
- linux下nginx的安装
- DIY一个带WIFI的树莓派照相机
- github笔记
- HDU-5391 Zball in Tina Town
- maxlength长度
- Java中的动态绑定详解
- Binary Tree Right Side View
- Android studio百度地图(一)
- Talk the Talk
- Engineer in the White Spaces