statement与preparedStatement的区别【jdbc中】

①语法区别:·Statement 是PreparedStatement的父类【开发一般用后者】
·SQL语句位置不同:
  下面是statement的用法:
    stmt=conn.CreateStatement();
    resultSet rs=stmt.executeQuery(sql);
    ============================
  下面是PrepareStatement的用法:
    ptmt=conn.PreparedStatement(sql);
    resultSet rs=ptmt.executeQuery();
②代码的可读性和可维护性:
·//Statement更新数据:
  stmt.executeUpdate("insert into tb_name (col1,col2,col2,col4) values
  ('"+var1+"','"+var2+"',"+var3+",'"+var4+"')");
·//prepareStatement更新数据
  perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");
  perstmt.setString(1,var1);
  perstmt.setString(2,var2);
  perstmt.setString(3,var3);
  perstmt.setString(4,var4);
  perstmt.executeUpdate();

猜你喜欢

转载自www.linuxidc.com/Linux/2015-12/126699.htm