JDBC中的Statement vs PreparedStatement
程序员文章站
2022-03-03 20:02:37
...
重点内容
(一).PreparedStatement是Statement的子类,我们可以使用PreparedStatement对象将SQL语句发送到数据库中去运行。
(二).Statement和PreparedStatement的区别
1.Statement:statement将SQL发送到数据库之前, JDBC驱动器事先回将SQL编译好。如果statement向数据库发送多条SQL语句,事先也是一样要把SQL语句编译好。
Statement stmt = conn.createStatement();
stmt.executeUpdate("insert into employee(age,name) values(23,'张三')");
stmt.executeUpdate("insert into employee(age,name) values(25,'李四')");
stmt.executeUpdate("insert into employee(age,name) values(23,'王五')");
2.PreparedStatement编译语句一次,使用替换变量修改最后的语句被执行。编译一次,多次执行,因此PreparedStatement是非常有效的方式执行SQL语句。
添加操作
String insertSql = "insert into employee(age,name) values(?,?)";
PreparedStatement ps1 = conn.prepareStatement(insertSql);
ps1.setInt(1, 23);
ps1.setString(2, "张三");
ps1.executeUpdate();
ps1.setInt(1, 25);
ps1.setString(2, "李四");
ps1.executeUpdate();
查询操作
String selectSql = "Select * from User where userid= ?";
PreparedStatement ps3 = conn.prepareStatement(selectSql);
ps3.setString(1, "李四");
修改操作
String sql = "Update employee set name=? where id=1";
PreparedStatement ps3 = conn.prepareStatement(sql);
ps3.setString(1, "科比");
ps3.executeUpdate();
删除操作
String sql=delete from employee where name=?
PreparedStatement ps4 = conn.prepareStatement(sql);
ps4.setString(1, "科比");
ps4.executeUpdate();
上一篇: hibernate第二次
下一篇: Linux 下route命令详解
推荐阅读
-
jdbc连接数据库 PHP5中使用PDO连接数据库的方法
-
PHP中创建空文件的代码[file_put_contents vs touch]
-
MySQL JDBC中autoReconnectForPools的用途
-
jQuery在vs2008及js文件中的无智能提示的解决方法_jquery
-
sql中Statement与PreparedStatement的区别
-
jdbc-mysql数据库的PASSWORD函数在数据库的表中设置密码有什么限制?
-
VS2010中lib与dll文件的生成与使用方法
-
如何在Eclipse中设置Oracle的JDBC
-
JDBC之PreparedStatement类中预编译的综合应用解析
-
使用JDBC从数据库中查询数据的方法