//通用的增删改,根據args數組的長度
public void update(String sql,Object ... args){
Connection conn = null;
PreparedStatement ps = null;
try {
conn = JDBCUtil.getConn();
ps = conn.prepareStatement(sql);
for(int i=0;i<args.length;i++) {
ps.setObject(i+1, args[i]);
}
ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}finally {
JDBCUtil.release(conn, ps);
}
}
通用的增删改查
//通用的增删改,根據sql中?的個數來
public void update02(String sql,Object ... args){
Connection conn = null;
PreparedStatement ps = null;
try {
conn = JDBCUtil.getConn();
ps = conn.prepareStatement(sql);
//擷取的有幾個問号
ParameterMetaData metaData = ps.getParameterMetaData();
int count = metaData.getParameterCount();
for(int i=0;i<count;i++) {
ps.setObject(i+1, args[i]);
}
ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}finally {
JDBCUtil.release(conn, ps);
}
}
@Test
public void testQuery() {
Account account = query("select * from account where id = ?",new ResultSetHandler<Account>() {
@Override
public Account handle(ResultSet rs) {
try {
Account account = new Account();
if(rs.next()) {
String name = rs.getString("name");
int money=rs.getInt("money");
account.setName(name);
account.setMoney(money);
}
return account;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
},6);
System.out.println(account);
}
public <T>T query(String sql,ResultSetHandler<T> handler,Object ... args) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = JDBCUtil.getConn();
ps = conn.prepareStatement(sql);
//擷取的有幾個問号
ParameterMetaData metaData = ps.getParameterMetaData();
int count = metaData.getParameterCount();
for(int i=0;i<count;i++) {
ps.setObject(i+1, args[i]);
}
ResultSet rs = ps.executeQuery();
T t=(T)handler.handle(rs);
return t;
} catch (Exception e) {
// TODO: handle exception
}finally {
JDBCUtil.release(conn, ps);
}
return null;
}