本文介绍了Java数据库连接PreparedStatement的使用详解,分享给大家,具体如下:
首先了解Statement和PreparedStatement的区别:
由此可见,一般使用PreparedStatement。
操作数据库SU(Course表),其中Course属性有Cno,Cname,Cpno,Ccredit。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
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注入,但是要求?赋值的方式才可以。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/cxq1126/p/7360265.html