zoukankan      html  css  js  c++  java
  • SQLQuery 实现别名映射

    public List getQueryList(Map paramMap, int start, int maxResults) throws DataAccessException, HibernateException,
                InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
            String woNo = "";
            String woSubject = "";
            Date creationDateFrom = null;
            Date creationDateEnd = null;
    
            if (paramMap.get("woNo") != null) {
                woNo = (String) paramMap.get("woNo");
            }
            ;
            if (paramMap.get("woSubject") != null) {
                woSubject = (String) paramMap.get("woSubject");
            }
            if (paramMap.get("creationDateFrom") != null) {
                creationDateFrom = (Date) paramMap.get("creationDateFrom");
            }
            if (paramMap.get("creationDateEnd") != null) {
                creationDateEnd = (Date) paramMap.get("creationDateEnd");
            }
    
            StringBuffer buf = new StringBuffer();
            buf.append("select abh.*,");
            buf.append("fw.wo_no bill_code,");
            buf.append("fw.wo_type bill_type,");
            buf.append("fw.wo_subject bill_title,");
            buf.append("fw.created_date creation_date,");
            buf.append("fw.process_instance_id process_instance_id,");
            buf.append("'transated' task_type,");
            buf.append("(select au.user_name from arch_user au where au.user_id=abh.created_by) created_name,");
            buf.append("(select ao.org_name from arch_org ao where ao.org_id=abh.arch_org_company_id) region_company_segment,");
            buf.append("(select ao.org_name from arch_org ao where ao.org_id=abh.arch_org_dept_id) region_dept_segment");
            buf.append(" from FAS_WORKORDER fw, ACCOUNT_BILL_HEAD abh where 1 = 1 ");
            buf.append(" and fw.businessid = abh.account_bill_head_id");
            buf.append(" and fw.wo_no like :woNo");
            buf.append(" and fw.wo_subject like :woSubject");
            buf.append(" and fw.created_date between nvl(:creationDateFrom,fw.created_date) and nvl(:creationDateEnd,sysdate)");
            buf.append(" order by fw.created_date desc");
    
            List beanList = null;
            Session session = null;
            try {
                session = accountBillHeadDAO.getHibernateTemplate().getSessionFactory().openSession();
                //获得本地sql查询对象
                SQLQuery query = session.createSQLQuery(buf.toString());
                //设置字符串参数
                query.setString("woNo", "%" + woNo + "%");
                query.setString("woSubject", "%" + woSubject + "%");
                //设置日期参数
                query.setDate("creationDateFrom", creationDateFrom);
                query.setDate("creationDateEnd", creationDateEnd);
                //设置分页
                query.setFirstResult(start);
                query.setMaxResults(maxResults);
                query.setResultTransformer(new ExtColumnToBean(AccountBillHeadVOImpl.class));
                
                beanList = query.list();
            } catch (RuntimeException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                session.flush();
                session.close();
            }
            return beanList;
        }
  • 相关阅读:
    ABP实现文件下载
    sqlserver把查询结果转为json和xml
    使用docker安装nginx
    sqlserver 索引优化 sql语句执行分析
    centos7下安装docker教程
    mysql查看sql的执行计划(是否使用索引等)
    vue计算属性和watch的区别有哪些?
    多表连接的三种方式详解 hash join、merge join、 nested loop
    【Winform】所有的dll都打包到一个exe里
    【异常处理】System.Data.Entity.Core.EntityException: 'The underlying provider failed on Open.'
  • 原文地址:https://www.cnblogs.com/rigid/p/3824469.html
Copyright © 2011-2022 走看看