hibernate4使用本地sql语句查询、删除

  1. public List<MMSTable> listAll(Map<Object, String> map, int pn, int pageSize) 
  2.         throws Exception 
  3.     { 
  4.         // 定义StringBuffer对象,拼装sql语句 
  5.         StringBuffer sb = new StringBuffer(); 
  6.         sb.append("select m.* from MMSTable as m "); 
  7.         if (!Global.isEmpty(map.get("mmsReceNo"))) 
  8.         { 
  9.             sb.append(" inner join ReceiptNoInfo as r on m.msgId = r.msgId"); 
  10.         } 
  11.         sb.append(" where 1=1 "); 
  12.         if (!Global.isEmpty(map.get("mmsSubject"))) 
  13.         { 
  14.             sb.append("and m.mmsSubject = '" + map.get("mmsSubject") + "'"); 
  15.         } 
  16.         if (!Global.isEmpty(map.get("startMmsDate"))) 
  17.         { 
  18.             sb.append("and m.mmsDate >= '" + map.get("startMmsDate") + "'"); 
  19.         } 
  20.         if (!Global.isEmpty(map.get("endMmsDate"))) 
  21.         { 
  22.             sb.append("and m.mmsDate <= '" + map.get("endMmsDate") + "'"); 
  23.         } 
  24.         if (!Global.isEmpty(map.get("mmsOrigNo"))) 
  25.         { 
  26.             sb.append("and m.mmsOrigNo = '" + map.get("mmsOrigNo") + "'"); 
  27.         } 
  28.         if (!Global.isEmpty(map.get("mmsReceNo"))) 
  29.         { 
  30.             sb.append(" and r.mmsReceNo like '" + map.get("mmsReceNo") + '%' + "'"); 
  31.         } 
  32.         if (!Global.isEmpty(map.get("mmsStatus"))) 
  33.         { 
  34.             sb.append("and m.mmsStatus = '" + map.get("mmsStatus") + "'"); 
  35.         } 
  36.         sb.append("order by m.mmsDate DESC"); 
  37.          
  38.         // 获取本地sql语句对象 
  39.         SQLQuery query = getSession().createSQLQuery(sb.toString()); 
  40.          
  41.         // 设置将SQL表的别名和实体类联系起来 
  42.         query.addEntity(MMSTable.class); 
  43.          
  44.         // 分页代码 
  45.         if (pn > -1 && pageSize > -1
  46.         { 
  47.             query.setMaxResults(pageSize); 
  48.             int start = pn; 
  49.             if (start != 0
  50.             { 
  51.                 query.setFirstResult(start); 
  52.             } 
  53.         } 
  54.          
  55.         // 执行查询方法,返回结果 
  56.         List<MMSTable> mmsList = query.list(); 
  57.          
  58.         // 返回执行结果 
  59.         return mmsList; 
  60.     } 
  61.      
  62.     /**
  63.      * {@inheritDoc}
  64.      */ 
  65.     @Override 
  66.     public int countAll(Map<Object, String> map) 
  67.         throws Exception 
  68.     { 
  69.         // 定义StringBuffer对象,拼装sql语句 
  70.         StringBuffer sb = new StringBuffer(); 
  71.         sb.append("select count(*) from MMSTable as m "); 
  72.          
  73.         // 如果接受电话号码存在则做内连接 
  74.         if (!Global.isEmpty(map.get("mmsReceNo"))) 
  75.         { 
  76.             sb.append(" inner join ReceiptNoInfo as r on m.msgId = r.msgId"); 
  77.         } 
  78.         sb.append(" where 1=1 "); 
  79.         if (!Global.isEmpty(map.get("mmsSubject"))) 
  80.         { 
  81.             sb.append("and m.mmsSubject = '" + map.get("mmsSubject") + "'"); 
  82.         } 
  83.         if (!Global.isEmpty(map.get("startMmsDate"))) 
  84.         { 
  85.             sb.append("and m.mmsDate >= '" + map.get("startMmsDate") + "'"); 
  86.         } 
  87.         if (!Global.isEmpty(map.get("endMmsDate"))) 
  88.         { 
  89.             sb.append("and m.mmsDate <= '" + map.get("endMmsDate") + "'"); 
  90.         } 
  91.         if (!Global.isEmpty(map.get("mmsOrigNo"))) 
  92.         { 
  93.             sb.append("and m.mmsOrigNo = '" + map.get("mmsOrigNo") + "'"); 
  94.         } 
  95.         if (!Global.isEmpty(map.get("mmsReceNo"))) 
  96.         { 
  97.             sb.append(" and r.mmsReceNo like '" + map.get("mmsReceNo") + '%' + "'"); 
  98.         } 
  99.         if (!Global.isEmpty(map.get("mmsStatus"))) 
  100.         { 
  101.             sb.append("and m.mmsStatus = '" + map.get("mmsStatus") + "'"); 
  102.         } 
  103.          
  104.         // 获取本地sql语句对象 
  105.         SQLQuery query = getSession().createSQLQuery(sb.toString()); 
  106.          
  107.         // 执行查询方法,返回结果 
  108.         Integer count = Integer.valueOf(query.uniqueResult().toString()); 
  109.         return count; 
  110.     } 
public List<MMSTable> listAll(Map<Object, String> map, int pn, int pageSize)
        throws Exception
    {
        // 定义StringBuffer对象,拼装sql语句
        StringBuffer sb = new StringBuffer();
        sb.append("select m.* from MMSTable as m ");
        if (!Global.isEmpty(map.get("mmsReceNo")))
        {
            sb.append(" inner join ReceiptNoInfo as r on m.msgId = r.msgId");
        }
        sb.append(" where 1=1 ");
        if (!Global.isEmpty(map.get("mmsSubject")))
        {
            sb.append("and m.mmsSubject = '" + map.get("mmsSubject") + "'");
        }
        if (!Global.isEmpty(map.get("startMmsDate")))
        {
            sb.append("and m.mmsDate >= '" + map.get("startMmsDate") + "'");
        }
        if (!Global.isEmpty(map.get("endMmsDate")))
        {
            sb.append("and m.mmsDate <= '" + map.get("endMmsDate") + "'");
        }
        if (!Global.isEmpty(map.get("mmsOrigNo")))
        {
            sb.append("and m.mmsOrigNo = '" + map.get("mmsOrigNo") + "'");
        }
        if (!Global.isEmpty(map.get("mmsReceNo")))
        {
            sb.append(" and r.mmsReceNo like '" + map.get("mmsReceNo") + '%' + "'");
        }
        if (!Global.isEmpty(map.get("mmsStatus")))
        {
            sb.append("and m.mmsStatus = '" + map.get("mmsStatus") + "'");
        }
        sb.append("order by m.mmsDate DESC");
        
        // 获取本地sql语句对象
        SQLQuery query = getSession().createSQLQuery(sb.toString());
        
        // 设置将SQL表的别名和实体类联系起来
        query.addEntity(MMSTable.class);
        
        // 分页代码
        if (pn > -1 && pageSize > -1)
        {
            query.setMaxResults(pageSize);
            int start = pn;
            if (start != 0)
            {
                query.setFirstResult(start);
            }
        }
        
        // 执行查询方法,返回结果
        List<MMSTable> mmsList = query.list();
        
        // 返回执行结果
        return mmsList;
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int countAll(Map<Object, String> map)
        throws Exception
    {
        // 定义StringBuffer对象,拼装sql语句
        StringBuffer sb = new StringBuffer();
        sb.append("select count(*) from MMSTable as m ");
        
        // 如果接受电话号码存在则做内连接
        if (!Global.isEmpty(map.get("mmsReceNo")))
        {
            sb.append(" inner join ReceiptNoInfo as r on m.msgId = r.msgId");
        }
        sb.append(" where 1=1 ");
        if (!Global.isEmpty(map.get("mmsSubject")))
        {
            sb.append("and m.mmsSubject = '" + map.get("mmsSubject") + "'");
        }
        if (!Global.isEmpty(map.get("startMmsDate")))
        {
            sb.append("and m.mmsDate >= '" + map.get("startMmsDate") + "'");
        }
        if (!Global.isEmpty(map.get("endMmsDate")))
        {
            sb.append("and m.mmsDate <= '" + map.get("endMmsDate") + "'");
        }
        if (!Global.isEmpty(map.get("mmsOrigNo")))
        {
            sb.append("and m.mmsOrigNo = '" + map.get("mmsOrigNo") + "'");
        }
        if (!Global.isEmpty(map.get("mmsReceNo")))
        {
            sb.append(" and r.mmsReceNo like '" + map.get("mmsReceNo") + '%' + "'");
        }
        if (!Global.isEmpty(map.get("mmsStatus")))
        {
            sb.append("and m.mmsStatus = '" + map.get("mmsStatus") + "'");
        }
        
        // 获取本地sql语句对象
        SQLQuery query = getSession().createSQLQuery(sb.toString());
        
        // 执行查询方法,返回结果
        Integer count = Integer.valueOf(query.uniqueResult().toString());
        return count;
    }

删除方法:

Java代码
  1. public void deleteMMSTable(String msgId) 
  2.        throws Exception 
  3.    { 
  4.        // 封装参数 
  5.        Object[] paramlist = new Object[] {msgId}; 
  6.         
  7.        // 拼装sql语句 
  8.        String sql = "delete from MMSTable where msgId = ?"
  9.         
  10.        // 执行sql语句 
  11.        SQLQuery query = getSession().createSQLQuery(sql); 
  12.        setParameters(query, paramlist); 
  13.        query.executeUpdate(); 
  14.    } 

猜你喜欢

转载自blog.csdn.net/yang254143/article/details/48714411