jdbc通用的增删改操作
通用的增删改操作
PreparedStatementUpdateTest.java
public class PreparedStatementUpdateTest { @Test
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");
}
//通用的增删改操作
public void update(String sql, Object... args) {//sql中占位符的个数与可变形参的长度相同!
Connection conn = null;
PreparedStatement ps = null;
try {
//1.获取数据库的连接
conn = JDBCUtils.getConnection();
//2.预编译sql语句,返回PreparedStatement的实例
ps = conn.prepareStatement(sql);
//3.填充占位符
for (int i = 0; i < args.length; i++) {
//小心参数声明错误!!参数索引是从0开始的。预编译sql的占位符的索引从1开始
ps.setObject(i + 1, args[i]);
}
//4.执行
ps.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
//5.资源的关闭
JDBCUtils.closeResource(conn, ps);
}
}
}
JDBCUtils.java
public class JDBCUtils { public static Connection getConnection() throws Exception {
// 1.读取配置文件中的4个基本信息
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
Properties pros = new Properties();
pros.load(is);
String user = pros.getProperty("user");
String password = pros.getProperty("password");
String url = pros.getProperty("url");
String driverClass = pros.getProperty("driverClass");
// 2.加载驱动
Class.forName(driverClass);
// 3.获取连接
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
public static void closeResource(Connection conn,Statement ps){
closeResource(conn,ps,null);
}
//关闭资源操作
public static void closeResource(Connection conn,Statement ps,ResultSet rs){
try {
if(ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
jdbc.properties
user=rootpassword=123456
url=jdbc:mysql://192.168.220.11:3306/test?rewriteBatchedStatements=true
driverClass=com.mysql.cj.jdbc.Driver
以上是 jdbc通用的增删改操作 的全部内容, 来源链接: utcz.com/z/511445.html