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. nginx负载均衡集群中的session共享说明

    在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 下面罗列几种nginx负载均衡 ...

  2. eclipse服务器add and remove 工程时出现there are no resources that can be added or removed from the server

    网上的解决方法: 解决方法: 第1步.新建一个“Dynamic Web Project” 第2步.把新建项目里面的.project文件和.settings文件夹复制到导入的那个项目里面. 可是我发现: ...

  3. Java手动添加SSL证书

    出现错误为 SSLHandshakeException - unable to find valid certification path to requested target 在服务器上找到对应的 ...

  4. IE 和Firefox的js兼容性总结

    IE 和Firefox的js兼容性总结 12 August 2010 11:39 Thursday by 小屋 标签: 浏览器 方法 属性 IT 写法 一.函数和方法差异 1 . getYear()方 ...

  5. Log4net在类库中的用法

    app.config应当放置在解决方案的根目录下.具体流程如下: 第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 第二步:需要配置相关的配置文件App.config或Web.co ...

  6. Echarts的相关问题记录与应用

    一.相关问题记录: 1.对图表的div进行隐藏操作,使用hide()或display:none,重新展示时,会造成图表无法获取高度,导致图表的高宽不符合预期: 解决方法:最后调用一下resize()函 ...

  7. stack 栈的实现

    今天晚上去「南哪」听了场AI的讲座,除了话筒真心不给力之外,算是对微软这方面的进展有了更多了解,毕竟是半宣传性质的活动吧. 光听这些是没用的,眼下还是打好基础,多尝试学点新技术,拓宽能力和视野比较重要 ...

  8. python内置数据类型-字典和列表的排序 python BIT sort——dict and list

    python中字典按键或键值排序(我转!)   一.字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序. Py ...

  9. [AJAX系列]XMLHttpResponse对象

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. android 按钮点击效果实现 在studio下出现的错误

    在照做上一篇随笔的时候 在studio下为了方便我在写完一个 btn_select.xml 文件后直接粘贴了三个文件到drawable下 结果问题来了 总是报这样一个错误: Resource is n ...