Statement和PreparedStatement区别(文字说明和代码说明)

一、文字说明两者区别

1、Statement接口:用于执行静态 SQL 语句并返回它所生成结果的对象
                 Statement stmt=con.createStatement();
                 ResultSetrs=sql.executeQuery("SELECT * FROMstudent");



2、PreparedStatement接口: 预编译的 SQL 语句的对象。 继承Statement接口

                         语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。

                          PreparedStatement接口(预编译的SQL语句)

二、代码说明两者区别


1、Statement

  1. try {
  2. Class.forName(JDBC驱动类);
  3. } catch (ClassNotFoundException e) {
  4. System.out.println("无法找到驱动类");
  5. }
  6. try {
  7. Connection con=DriverManager.getConnection(JDBC URL,数据库用户名,密码);

  8. Statement stmt = con.createStatement();
  9. ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");

  10. while (rs.next()) {
  11. int x = rs.getInt("a");
  12. String s = rs.getString("b");
  13. float f = rs.getFloat("c");
  14. }
  15. con.close();
  16. } catch (SQLException e) {
  17. e.printStackTrace();
  18. }
2、PreparedStatement      
  1. publicclass NewStudentDB {
  2. publicstatic void main(String[] args) {
  3. Connection con = null;
  4. PreparedStatement pStatement =null;
  5. try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  6.         con = DriverManager.getConnection(
  7. "jdbc:sqlserver://localhost:1433/Student?user=root&password=123")
  8. String strSql = "insert into studentvalues(?,?,?)";
  9.   pStatement=con.prepareStatement(strSql);
  10.   pStatement.se tInt(1, 200801023);
  11.   pStatement.setString(2,"李红");
  12.   pStatement.setString(3,“计算机系");
  13.   pStatement.executeUpdate();
  14. } catch (SQLException sqlE) {
  15. sqlE.printStackTrace();
  16. } finally {
  17. ConnectionManager.closeStatement(pStatement);
  18. ConnectionManager.closeConnection(con);
  19. }
  20. }
  21. }
  22.        

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值