针对不同表的增删改操作,前提是这些表都位于配置文件中的同一个数据库中的:
package com.ztt.jdbc;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import org.testng.annotations.Test;
public class JDBCTools {
//测试新增操作
@Test
public void testAdd() throws Exception{
String sql = "insert into users values(?,?,?,?)";
update(sql,7,"eee","eee",1);
}
//测试删除操作
@Test
public void testDelete() throws Exception{
String sql = "delete from users where id=?";
update(sql,5);
}
//测试修改操作
@Test
public void testUpdate() throws Exception{
String sql = "update users set username = ? where id = ?";
update(sql,"abc",4);
}
/**
*
* 执行sql语句,使用PreparedStatement
**/
//增、删、改操作(通用的)
public static void update(String sql,Object ...args) throws Exception{
Connection conn = null;
PreparedStatement ps = null;
try {
//1、获得数据库连接
conn = JDBCTools.getConnection2();
//2、预编译sql语句,返回PreparedStatement的实例
ps = conn.prepareStatement(sql);
//3、填充占位符
for(int i = 0;i < args.length;i++){
ps.setObject(i + 1, args[i]);
}
//4、执行
ps.execute();
} catch (Exception e) {
JDBCTools.release(null, ps, conn);
}
}
//释放数据库连接
public static void release(ResultSet rs,Statement statement,C