Java数据库连接PreparedStatement的使用详解
程序员文章站
2024-02-22 18:09:52
本文介绍了java数据库连接preparedstatement的使用详解,分享给大家,具体如下:
首先了解statement和preparedstatement的区别:...
本文介绍了java数据库连接preparedstatement的使用详解,分享给大家,具体如下:
首先了解statement和preparedstatement的区别:
由此可见,一般使用preparedstatement。
操作数据库su(course表),其中course属性有cno,cname,cpno,ccredit。
public class demo_2 { public static void main(string[] args) { preparedstatement ps=null; resultset rs=null; connection ct=null; try { //1.加载驱动 class.forname("sun.jdbc.odbc.jdbcodbcdriver"); //2.得到连接 ct=drivermanager.getconnection("jdbc:odbc:mytest"); //3.创建preparedstatement ps=ct.preparestatement("select * from course where cno=? and cpno=?"); ps.setstring(1,"3"); //给第一个问号赋值 ps.setint(2,1); rs=ps.executequery(); while(rs.next()){ string cno=rs.getstring(1); string cname=rs.getstring(2); int cpno=rs.getint(3); int ccredit=rs.getint(4); system.out.println(cno+" "+cname+" "+cpno+" "+ccredit); } //使用 preparedstatement添加一条记录 // ps=ct.preparestatement("insert into course values(?,?,?,?)"); // ps.setstring(1, "8"); // ps.setstring(2, "c++"); // ps.setint(3, 3); // ps.setint(4, 2); // //执行 // int i=ps.executeupdate(); // if(i==1){ // system.out.print("添加成功"); // }else{ // system.out.print("添加不成功"); // } } catch (exception e) { e.printstacktrace(); }finally{ try { if(rs!=null){ rs.close(); } if(ps!=null){ ps.close(); } if(ct!=null){ ct.close(); } } catch (exception e) { e.printstacktrace(); } } } }
运行程序,控制台输出符合条件的数据。
最后总结如下:
preparedstatement 使用crud
1. preparedstatement可以提高执行的效率(因为它有预编译的功能)
2. preparedstatement可以防止sql注入,但是要求?赋值的方式才可以。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。