1、返回int

    public int countByUsername(String username) {
String hql = "select count(*) from BeanCarUser bean where bean.userName=:username";
Query query = getSession().createQuery(hql);
query.setParameter("username", username);
return ((Number) query.iterate().next()).intValue();
}

2、返回list集合

@SuppressWarnings("unchecked")
public List<CmsZfysj> findByZqmj(String zqmj, Date clsj) {
Finder f = Finder.create("from CmsZfysj bean where 1=1 ");
if (null != zqmj && !"".equals(zqmj)) {
f.append(" and bean.police_id like :zqmj");
f.setParam("zqmj", "%" + zqmj + "%");
}
if (null != clsj && !"".equals(clsj)) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
f.append(" and TO_CHAR(bean.import_time,'yyyy-MM-dd') >= '"
+ df.format(clsj) + "'");
}
if (null != clsj && !"".equals(clsj)) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
f.append(" and TO_CHAR(bean.capture_time,'yyyy-MM-dd') <= '"
+ df.format(clsj) + "'");
}
return find(f);
}

3、多表关联查询返回List

(1)多表关联查询list

@SuppressWarnings("unchecked")
public List<BeanCompanyEmp> getListCompanyIsNull(BeanCompanyEmp beanCompanyEmpParam) { StringBuffer sql = new StringBuffer(); sql.append(" select ");
sql.append(" cemp.id ,cemp.doc_no ,jux.mobile ,jux.comefrom,jux.realname,jr.role_name ,cemp.latitude latitude ,cemp.longitude longitude ");
sql.append(" from company_emp cemp, ");
sql.append(" jc_user jc, ");
sql.append(" jc_user_ext jux, ");
sql.append(" jc_role jr, ");
sql.append(" jc_user_role jur "); sql.append(" where cemp.id = jc.user_id ");
sql.append(" and cemp.id = jux.user_id ");
sql.append(" and jur.user_id = jc.user_id ");
sql.append(" and jur.role_id = jr.role_id ");
sql.append(" and cemp.belong_company is null ");
String sqls = sql.toString();
Query query = sessionFactory.getCurrentSession().createSQLQuery(sqls.toString());
List list = query.list();
List<BeanCompanyEmp> result=new ArrayList<BeanCompanyEmp>();
if(list!=null&&list.size()>0){ for (Object object : list) {
int i = 0;
BeanCompanyEmp modell=new BeanCompanyEmp();
Object[] temp = (Object[]) object;
modell.setId(Integer.parseInt( temp[i++] +""));
modell.setDoc_no(String.valueOf(temp[i++]));
modell.setMobile(String.valueOf(temp[i++]));
modell.setComefrom(String.valueOf(temp[i++]));
modell.setRealName(String.valueOf(temp[i++]));
modell.setRoleNames(String.valueOf(temp[i++]));
modell.setLatitude(String.valueOf(temp[i++]));
modell.setLongitude(String.valueOf(temp[i++]));
result.add(modell);
}
} return result; }

(2)多表查询带分页功能

public Pagination getLookPage(BeanCompanyEmp beanCompanyEmpParam, int pageNo, int pageSize) {

        Pagination pagination = new Pagination();
StringBuffer sql = new StringBuffer();
sql.append(" select ");
sql.append(" cemp.id id,cemp.doc_no doc_no,jux.mobile mobile,jux.comefrom comefrom,jux.realname realname,jr.role_name role_name ");
sql.append(" from company_emp cemp, ");
sql.append(" jc_user jc, ");
sql.append(" jc_user_ext jux, ");
sql.append(" jc_role jr, ");
sql.append(" jc_user_role jur ");
sql.append(" where cemp.id = jc.user_id ");
sql.append(" and cemp.id = jux.user_id ");
sql.append(" and jur.user_id = jc.user_id ");
sql.append(" and jur.role_id = jr.role_id ");
sql.append(" and cemp.belong_company is null ");
//TODO这最好查询角色名称
if(beanCompanyEmpParam.getDoc_no() != null && beanCompanyEmpParam.getDoc_no() != ""){
sql.append(" and cemp.doc_no like '%"+beanCompanyEmpParam.getDoc_no()+"%'" ); }
if(beanCompanyEmpParam.getRealName() != null && beanCompanyEmpParam.getRealName() != ""){
sql.append(" and jux.realname like '%"+beanCompanyEmpParam.getRealName()+"%'" ); } String sqls = sql.toString();
Query query = sessionFactory.getCurrentSession().createSQLQuery(sqls.toString());
List list = query.list();
List<BeanCompanyEmp> result=new ArrayList<BeanCompanyEmp>();
if(list!=null&&list.size()>0){ for (Object object : list) {
int i = 0;
BeanCompanyEmp modell=new BeanCompanyEmp();
Object[] temp = (Object[]) object;
modell.setId(Integer.parseInt( temp[i++] +""));
modell.setDoc_no(String.valueOf(temp[i++]));
modell.setMobile(String.valueOf(temp[i++]));
modell.setComefrom(String.valueOf(temp[i++]));
modell.setRealName(String.valueOf(temp[i++]));
modell.setRoleNames(String.valueOf(temp[i++])); result.add(modell);
}
} pagination.setList(result);
pagination.setPageNo(pageNo);
pagination.setPageSize(pageSize); return pagination; }

4、获取参数Collection集合

/**
* 获取参数类型集合
*/
@SuppressWarnings("unchecked")
public Collection<Object> getList() {
Finder f = Finder.create("select distinct bean.paramType from BeanParamManager bean where bean.dataStatus=0 and bean.sslx ='中心参数'");
return find(f);
}

5、返回值是void

public void insertDayModel(Integer dayNo){
List<Object> list = dayDao.selectParkno();
for (Object b : list) {
String parkNo = b.toString();
BeanDayTraffic bean = new BeanDayTraffic();
bean.setParkno(parkNo);
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, +dayNo);//+1今天的时间加一天
date = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sDate = sdf.format(date);
try {
Date dbDate = sdf.parse(sDate);
bean.setDay_time(dbDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
System.out.println(e);
}
bean.setTypes("Day");
bean.setTime1(0);
bean.setTime2(0);
bean.setTime3(0);
bean.setTime4(0);
bean.setTime5(0);
bean.setTime6(0);
dayDao.save(bean);
}
}

HQL多种查询实现的更多相关文章

  1. Hibernate批量处理数据、HQL连接查询

    一.批量处理操作 批量处理数据是指在一个事务场景中处理大量数据.在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作     数据库层面 ...

  2. HQL基础查询语句

    HQL基础查询语句 1.使用hql语句检索出Student表中的所有列 //核心代码 @Test public void oneTest() { Query query=session.createQ ...

  3. hql语句查询实体类采用list方法的返回结果集

    在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况:1.查询全部字段的情况下,如"from 实体类", ...

  4. HQL连接查询

    HQL提供了连接查询机制如内连接,外连接,,还允许显示指定迫切内连接,和迫切外联结. 连接类型 内连接 inner join 或join 迫切内链接 inner join fetch 左外联结  le ...

  5. HQL连接查询和注解

    HQL连接查询和注解 一:HQL连接查询 各种连接查询: 内连接:inner join或join From Entity inner [inner] join [fetch] Entity.prope ...

  6. 【学习笔记】Hibernate HQL连接查询和数据批处理 (Y2-1-7)

    HQL连接查询 和SQL查询一样 hql也支持各种链接查询 如内连接 外连接 具体如下 左外连接 left (outer) join 迫切左外连接 left (outer) join fetch 右外 ...

  7. Castle ActiveRecord学习(五)使用HQL语句查询

    来源:http://www.cnblogs.com/Terrylee/archive/2006/04/12/372823.html 一.HQL简单介绍HQL全名是Hibernate Query Lan ...

  8. Hibernate批量处理数据、[HQL连接查询]

    一.批量处理操作 批量处理数据是指在一个事务场景中处理大量数据.在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作 数据库层面 (2)使 ...

  9. hibernate学习系列-----(4)hibernate基本查询上篇:HQL基本查询

    紧接着上一篇,今天继续hibernate的学习总结,来聊一聊hibernate的基本查询方法,先说说HQL(hibernate Query Language):它是官方推荐的查询语言.在开始写代码之前 ...

随机推荐

  1. mac系统使用内置的 PHP

    从 OS X 10.0.0 版本开始,PHP 作为 Mac 机的标准配置被提供.在默认的 web 服务器中启用 PHP,只需将 Apache 配置文件 httpd.conf 中的几行配置指令最前面的注 ...

  2. usb驱动开发22之驱动生命线

    我们总是很喜欢高潮,不是吗?那就好好对待她哦.我们来看一下linux中的高潮部分设备是怎么从Address进入Configured的. usb_set_configuration函数的代码就不贴了,可 ...

  3. c#:Reflector+Reflexil 修改编译后的dll/exe文件

    不知道大家有没有这样的经历:现场实施时测试出一个bug,明明知道某个dll/exe文件只要修改一二行代码即可,但手头没有开发环境,紧急情况下,可以用reflector + reflexil 临时直接修 ...

  4. mac里git项目删除.DS_Store文件

    用mac开发项目,每次提交文件时都生成修改文件的.DS_Store文件,提交时会不会觉得比较烦?别急,下面给出解决方案.我们需要用到.gitignore文件去配置Git目录中需要忽略的文件. .git ...

  5. hdu5444Elven Postman(主席树思想的应用)

    主席树这个概念应该不陌生吧!恩?不会, 戳这里. 主席树(函数式线段树)用的是函数思想,一个节点开数组用来保存自己的左右节点,这样节省许多不必要的空间,还可以保存许多历史状态.而这里我们用的是主席树的 ...

  6. .html 、.htm 、 .shtml 以及 .shtm 四种扩展名的文件区别

    新增了一个分类,叫做 Personals,中文我把它解释成 "个人恶趣味",这里将记载一些对工作无关紧要,但是个人又一时有兴趣了解的东西. 今天要讲的是如题的 4 种扩展文件的区别 ...

  7. C#微信公众号开发系列教程六(被动回复与上传下载多媒体文件)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  8. GridView的 OnRowDataBound 事件用法

    <asp:GridView ID="RptUsers" runat="server" AutoGenerateColumns="False&qu ...

  9. sql server存储过程编程

    存储过程是一组完成特定功能的SQL 语句集合,经编译后存储在数据库中.   存储过程作为一个单元进行处理并以一个名称来标识.它能向用户返回数据.向数据库表中写入或修改数据等操作. 用户通过指定存储过程 ...

  10. factor graph model

    主实验 文慧:用户,商品,评分,review,ranking. 数据集:数据规模,论文源代码