Java-JDBC操作

1.基本操作:

2.Statement、PreparedStatement、CallableStatement:

  1.Statement:执行不带参数的简单SQL语句,并返回结果对象
               每次执行SQL语句,数据库都要编译该语句。

  2.PreparedStatement:表示预编译的SQL语句对象,
                       用于执行带参数的预编译SQL。

  3.CallableStatement:提供用来调用数据库存储过程的接口,
                       若有输出参数需注册,说明是输出参数


3.Statement、PreparedStatement区别:
  
  1.PreparedStatement效率更高,用它执行SQL命令时,命令会被数据库编译解析,
    并放到命令缓冲区,若后面再执行同一个PreparedStatement对象,
    缓冲区中科发现预编译的命令,会在解析但不会在编译,可重用。

  2.代码可读性更好。
    1.Statement:
      stmt.executeUpdate("insert into t(col1,col2) values('"+var1+"','"+var2+"'')");

    2.PreparedStatement:
      perstmt = con.prepareStatement("insert into tb_name(col1,col2) values (?,?)");
      perstmt.setString(1,var1);
      perstmt.setString(2,var2);

  3.安全性更好:可防止SQL注入攻击
    避免类似“select * from user where name='aa' and password='bb' or 1=1”
    这种注入

你可能感兴趣的:(Java)