JDBC实现修改操作
如上,将数据库的连接和关闭封装在一个文件里,使用时直接调用即可
1. 获取数据库连接
connection = JDBCUtil.getConnection();
直接调用预先封装好的connection方法
2. 预编译statement语句,返回PreparedStatement实例
String sql = "update customers set name = ? where id = ?";
p1 = connection.prepareStatement(sql);
如上所示,先编写SQL语句,再使用PreparedStatement
3. 填充占位符,4. 执行SQL语句与前文相同
5.SQL关闭
直接调用即可
JDBCUtil.closeResource(connection,p1);
延申--使用JDBC执行通用的增删改操作
如前文所述,数据库的增删改操作本质上是十分相似的。因此,可以将增删改操作汇总成一个方法,使用时直接调用即可
按如下编写通用方法:
public void update(String sql,Object...args) {//sql中占位符个数和可变形参长度相同
Connection connection = null;
PreparedStatement p1 = null;
try {
//1.获取数据库连接
connection = JDBCUtil.getConnection();
//2. 预编译statement语句,返回PreparedStatement实例
p1 = connection.prepareStatement(sql);
//3.填充占位符
int i;
for(i = 0; i<args.length; i++){
p1.setObject(i+1,args[i]);//小心参数声明错误
}
//4. 执行操作
p1.execute();
} catch (Exception e) {
e.printStackTrace();
}finally{
//5.资源关闭
JDBCUtil.closeResource(connection,p1);
}
}
之后,在执行操作时,只需要编写SQL语句即可
public void testCommonUpdate(){
//String sql = "delete from customers where id = ?";
//update(sql,3);
//String sql = "update `order` set order_name = ? where order_id = ?";//关键字默认报错
//update(sql,"DD","2");
String sql = "insert into `order`(order_id,order_name,order_date) values(?,?,?)";
update(sql,"5","CC","2001-1-1");
}
注意在SQL书写规范中,如果数据表的名字和任意一种方法重名,那么就需要在表名上面打上“``”