sql拼接

sql拼接可用于在多条件查询中,在这整理出了两种实现方式:

方式1:未通过预编译的操作代码:

public class Test extends DBConnection{

     Public List<InsectPest> getAllByCondtion(Map map,int pageNo)throws Exception{

        this.openConnection();//打开连接

        String sql = "select * from t_insect_pests where 1=1";//查询当前页面的所有内容,where 1=1表示永远为真

          if(map.get("host") != null && !map.get("host").equals(""){

              sql = sql+" and f_host like '%"+map.get("host")+"%' ";//sql拼接。

            }

           sql = sql+" limit "+(pageNo-1)*2+",2";//分页

    }finally{

   this.closeConnection();

   }

}

方式2:经过预编译的操作代码:

public class Text extends DBConneceetion{

public List<Insectpets> getAllByCondtion(Map map,int pageNo)throws Exception{

    this.getConnection();

    StringBuffer sb = new StringBuffer("select * from t_insect_pests where 1 = 1");

     List  parm = new ArrayList();

     if(map.get("startTime") != null && map.get("endTime") != null){

       sb.append(" and t_time > ? and t_time < ?");

       pram.and(" %"+map.get("startTime")+map.get("endTime")+"%");

     }else{

       if(map.get("startTime" != null && ! map.get("startTime").equalse("")){

        sb.append(" and t_time >=?");

        pram.add("%"+map.get(startTime)+"%");

          }else if(map.get("endTime") != null && !map.get("endTime").equalse("")){

         sb.append(" and t_time <?");

          pram.add("%"map.get("endTiem")"%");

        }

    String sql = sb.toString()+" limit " +(pageNo-1)*2+",2";

    this.ps=con.prepareStatement(sql);

    for(int i = 0;1<pram.size();i++){

           this.ps=setObject(i+1,pram.get(i));

   }

      this.rs = ps.executeQuery();

            List<InsectPets> listbean = new ArrayList();

           while(rs.next()){

            创建实例对象:。。。。

              。。。。。。。。。。

             listbean.add();

           }

       return listbean;

}

}

}


转载于:https://my.oschina.net/win199176/blog/165335

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值