这里有新鲜出炉的 Java 设计模式,程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称.
这篇文章主要介绍了 Java 数据库连接 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 注入,但是要求?赋值的方式才可以.
来源: http://www.phperz.com/article/18/0110/355096.html