Welcome 微信登录

首页 / 数据库 / MySQL / 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();本文永久更新链接地址