请写一个jdbc中PreparedStatement自动填充参数的工具类
时间: 2024-05-07 17:18:52 浏览: 133
自动填充数据工具
好的,以下是一个基于JDBC的PreparedStatement自动填充参数的工具类:
```java
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class PreparedStatementUtils {
public static void setParameters(PreparedStatement preparedStatement, Object... parameters) throws SQLException {
for (int i = 0; i < parameters.length; i++) {
Object parameter = parameters[i];
if (parameter instanceof String) {
preparedStatement.setString(i + 1, (String) parameter);
} else if (parameter instanceof Integer) {
preparedStatement.setInt(i + 1, (Integer) parameter);
} else if (parameter instanceof Long) {
preparedStatement.setLong(i + 1, (Long) parameter);
} else if (parameter instanceof Double) {
preparedStatement.setDouble(i + 1, (Double) parameter);
} else if (parameter instanceof Float) {
preparedStatement.setFloat(i + 1, (Float) parameter);
} else if (parameter instanceof Boolean) {
preparedStatement.setBoolean(i + 1, (Boolean) parameter);
} else if (parameter instanceof Byte) {
preparedStatement.setByte(i + 1, (Byte) parameter);
} else if (parameter instanceof Short) {
preparedStatement.setShort(i + 1, (Short) parameter);
} else if (parameter == null) {
preparedStatement.setNull(i + 1, java.sql.Types.NULL);
} else {
throw new SQLException("Unsupported parameter type: " + parameter.getClass().getName());
}
}
}
}
```
这个工具类接受一个PreparedStatement和一组参数,然后根据参数的类型自动填充PreparedStatement。支持的参数类型包括String、Integer、Long、Double、Float、Boolean、Byte和Short。如果参数为null,则会填充为java.sql.Types.NULL。如果参数类型不支持,则会抛出SQLException异常。
阅读全文