public class MyJdbcTemplate {
private DataSource mDataSource;
public MyJdbcTemplate(DataSource dataSource) {
this.mDataSource = dataSource;
}
public int update(String sql, Object... objects) {
int r = 0;
try {
Connection connection = mDataSource.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//sql中有可能有? , 个数还不确定,此处使用参数元数据
ParameterMetaData parameterMetaData = preparedStatement.getParameterMetaData();
//获取?的个数
int count = parameterMetaData.getParameterCount();
//动态设置参数
for (int i = 0; i < count; i++) {
preparedStatement.setObject(i + 1, objects[i]);
}
r = preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return r;
}
public int delete(String sql, Object... objects) {
int r = 0;
try {
Connection connection = mDataSource.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//可能有?
ParameterMetaData parameterMetaData = preparedStatement.getParameterMetaData();
//获取?的个数
int count = parameterMetaData.getParameterCount();
//动态设置参数
for (int i = 0; i < count; i++) {
preparedStatement.setObject(i + 1, objects[i]);
}
r = preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return r;
}
}