java学习

java学习

 

使用hibernate按条件查询拼sql方法

方法1.例如:

StringBuffer sql = new StringBuffer();
        sql.append("from Book b where 1=1 ");
        if(!"".equals(sum)&&sum!=null){
            sql.append(" and b.sum ='"+sum+"'");
        }
        if(!"".equals(aut)&&aut!=null){
            sql.append(" and b.author ='"+aut+"'");
        }
        if(!"".equals(pub)&&pub!=null){
            sql.append(" and b.publish ='"+pub+"'");
        }
        if(!"".equals(rfid)&&rfid!=null){
            sql.append(" and b.addRfidSum ='"+rfid+"'");
        }
方法2.
StringBuffer sql = new StringBuffer();
        sql.append("from Book b where ");
        if(!"".equals(sum)&&sum!=null){
            sql.append(" b.sum ='"+sum+"' and ");
        }
        if(!"".equals(aut)&&aut!=null){
            sql.append(" b.author ='"+aut+"' and ");
        }
        if(!"".equals(pub)&&pub!=null){
            sql.append(" b.publish ='"+pub+"' and ");
        }
        if(!"".equals(rfid)&&rfid!=null){
            sql.append(" b.addRfidSum ='"+rfid+"' and ");
        }
        String s = sql.toString();
         s=s.substring(0,s.lastIndexOf(" and ")>0? s.lastIndexOf(" and "):s.indexOf("where"));
         System.out.println(s);

当心在单引号和双引号中间不要有空格,不然会出错

posted on 2012-12-26 13:22 杨军威 阅读(604) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜