zoukankan      html  css  js  c++  java
  • hibernate基础工具findBySQL学习

    public List<Map<String,Object>> findBySQL(String sql,Map<String,Object> param,int start,int max) {
            log.debug("finding List by hql");
            try {
           //最后返回map map的key可为别名和数据库字段 SQLQuery query
    =sessionFactory.getCurrentSession().createSQLQuery(sql); query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); //遍历param插入参数 if(param!=null) { for (Map.Entry<String, Object> entry : param.entrySet()) { Object obj = entry.getValue(); //这里考虑传入的参数是什么类型,不同类型使用的方法不同 hibernate传入list的方法 if(obj instanceof Collection<?>){ query.setParameterList(entry.getKey(), (Collection<?>)obj); }else if(obj instanceof Object[]){ query.setParameterList(entry.getKey(), (Object[])obj); }else{ query.setParameter(entry.getKey(), obj); } } } query.setFirstResult(start);//起始页 if(max!=0){ query.setMaxResults(max);//每页几条 } List<Map<String,Object>> results = query.list(); log.debug("find list successful, result size: " + results.size()); return results; } catch (RuntimeException re) { log.error("find list failed", re); throw re; } }

    注意 数组传入时是int 是没有属于

    Object[] 或者
    Collection<?>
    数组传入需要为封装类
  • 相关阅读:
    Autocomplete 使用——尽信书则不如无书!
    SQL累加注意点
    自己写的一个可行且简单的FTP操作类
    分割表值函数
    转载SQL游标
    一个存储过程包含了很多很多
    转载预防SQL注入攻击之我见
    Jquery温习1
    WMI远程启动软件(某个应用程序)
    struts如何实现国际化(转)
  • 原文地址:https://www.cnblogs.com/L-a-u-r-a/p/7050001.html
Copyright © 2011-2022 走看看