• preparedStatement一个小技巧


    preparedstatement的sql语句不能用?=?,想要用的话用如下方法

    DBconn DB = new DBconn();
         Connection con = DB.getConn();
         String sql = "SELECT * FROM server,node WHERE server.node_id=node.id GROUP BY hostname;";
         String sqlss = "select * from server,node where server.node_id=node.id and %column%=?;";//加百分号是为了让字符串唯一,防止替换了相同的字符串。比如mycolumn
         
         try{
         
          String accord = request.getParameter("accord");      
          String find = request.getParameter("find");
          PreparedStatement pstmt = null;
          ResultSet rs = null;
          
          if( accord !=null){
          
           pstmt = con.prepareStatement(sqlss.replace("%column%",accord));
            
          }
          Statement stmt = con.createStatement();
        
          System.out.println(accord);
          System.out.println(find);
          
          if(find != null){       
           pstmt.setString(1,find);
           rs = pstmt.executeQuery();
           System.out.println(sqlss);
          }else{
           rs = stmt.executeQuery(sql);
          }

  • 相关阅读:
    java多线程学习-同步之线程通信
    java多线程学习-同步(synchronized)
    java多线程学习-开篇
    面向对象-多线程-异常机制-查漏补缺
    Sprin2.5+Hibernate3.3+Struts2.0.11集成
    Strut1.3+Sprin2.5+Hibernate3.3集成
    Sprin2.5+Hibernate3.3集成
    Spring学习笔记
    Hibernate学习笔记
    Sping
  • 原文地址:https://www.cnblogs.com/miraclespace/p/3712438.html
Copyright © 2020-2023  润新知