* createStatement 方法用于: 简单的 SQL 语句(不带参数) prepareStatement 方法用于: 带一个或多个 IN
* 参数的 SQL 语句
*
* pstm一旦绑定了SQL,此pstm就不能执行其他的Sql,即只能执行一条SQL命令。 stm可以执行多条SQL命令。
*
* 对于执行同构的sql(只有值不同,其他结构都相同),用pstm的执行效率比较的高,对于异构的SQL语句,Statement的执行效率要高。
*
* :当需要外部变量的时候,pstm的执行效率更高.
public static void demo2() throws ClassNotFoundException, SQLException {
// 加载数据库驱动
// DriverManager.registerDriver(new Driver());
Class.forName("com.mysql.jdbc.Driver");
// 建立连接(Connection)
conn = DriverManager.getConnection(url, user, pwd);
PreparedStatement pre = null;
Statement stat = null;
String sql = "select * from user ;";
String sql2 = " select * from user ;";
try {
pre = conn.prepareStatement(sql);// 创建向数据库发送预编译sql的
stat = conn.createStatement();// 创建向数据库发送sql的statement对象。
stat.executeQuery(sql2);
stat.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
//插入数据
public static void updateDemo() throws Exception(){
// 获取传输器
stat = conn.createStatement();
String sql = "insert into user values(null,'zhaoliu','123456','zhaoliu@sdf.com','2000-01-01')";
int count = stat.executeUpdate(sql);
}
//修改数据
public void update() {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
conn = JDBCUtils.getConn();
stat = conn.createStatement();
String sql = "update user set password='999999' where name='zhaoliu'";
int result = stat.executeUpdate(sql);
System.out.println("result" + result);
} catch (Exception ex) {
JDBCUtils.close(conn, stat, rs);
}
}