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. 学习cocos 空程序

    今天开始学习cocos代码,首先研究源码中的空程序. 在这个程序中,在main函数中,创建了一个Application: int APIENTRY _tWinMain(HINSTANCE hInsta ...

  2. django整合原有的mysql数据库

    虽然django适合从零开始构建一个项目,但有时候整合原有的数据库也在所难免,下面以django整合我的mysql作说明. mysql数据是我从京东上抓取的数据,数据表名为jd,演示如图 下面将jd整 ...

  3. 苹果IOS开发者账号总结--发布应用APP时team name是否可以随意写?

    个人账号(Individual): 费用99美金一年, 该账号在App Store销售者只能显示个人的ID,比如zhitian zhang,单人使用.个人账号只能有一个开发者.100个苹果的iOS设备 ...

  4. swift三方库

    链接: Swift 有哪些优秀的第三方库? Swift 中AFNetworking 的替代方案 Alamofire Swift2.0后Alamofire的使用方法 [快速学会Swift第三方库] Al ...

  5. Nginx 启用 https

    在nginx.conf中增加新server配置 server { listen ; server_name www.some.com; ssl on; ssl_certificate sslkey/s ...

  6. BZOJ 2733 【HNOI2012】 永无乡

    Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...

  7. WP老杨解迷:可知评论系统还能勾搭用户呢

    玩家可以忍受任何游戏内的磨难,但偏偏不能忍受游戏外的挫折,这个游戏外可不是因为系统原因怒摔手机的义举,更加不是线下见面互炫菊花转投阵营的冲动,有可能是登录的瞬间,那小小的提示,又出问题了,登录不上去, ...

  8. 求解区间最值 - RMQ - ST 算法介绍

    解析 ST 算法是 RMQ(Range Minimum/Maximum Query)中一个很经典的算法,它天生用来求得一个区间的最值,但却不能维护最值,也就是说,过程中不能改变区间中的某个元素的值.O ...

  9. C#基础之IEnumerable

    1.IEnumerable的作用 在使用Linq查询数据时经常以IEnumerable<T>来作为数据查询返回对象,在使用foreach进行遍历时需要该对象实现IEnumerable接口, ...

  10. GridView的 OnRowDataBound 事件用法

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