package Lianxi;
import wzwUtil.WzwJDBC;
import java.awt.*;
import java.sql.Connection;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
public class Topic5 {
public static void main(String[] args) throws Exception {
//添加
System.out.println("受影响的行数有"+getUpdate("insert into user values(?,?,?)", 3, "ww", "1234556"));
//修改
System.out.println("受影响的行数有"+getUpdate("update user set password = ? where id=?", "123", "3"));
//删除
System.out.println("受影响的行数有"+getUpdate("delete from user where id = ?", 3));
}
private static int getUpdate(String sql,Object...args) throws Exception {
//获取连接(自定义工具类)
Connection conncetion = WzwJDBC.getConncetion();
//预编译 连接.准备声明
PreparedStatement preparedStatement = conncetion.prepareStatement(sql);
//**********获取占位符个数*********
//获取参数 预编译.获取参数元数据
ParameterMetaData parameterMetaData = preparedStatement.getParameterMetaData();
//获取参数个数 参数元数据.获取参数个数
int count = parameterMetaData.getParameterCount();
//循环赋值 条件:参数个数
for (int i = 0; i < count; i++) {
//类型是object-->(位置,可变参数) 位置从1开始,可变参数是数组
preparedStatement.setObject(i+1,args[i]);
}
//执行语句 预编译.执行修改
int i = preparedStatement.executeUpdate();
//释放资源(自定义工具类)
WzwJDBC.close(preparedStatement,conncetion);
//返回受影响的行数
return i;
}
}
数据库连接模板(增删改)