|
@@ -106,186 +106,4 @@ public abstract class DatabaseUtil {
|
|
return primaryKeys;
|
|
return primaryKeys;
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 根据列类型设值
|
|
|
|
- *
|
|
|
|
- * @param ps
|
|
|
|
- * @param i
|
|
|
|
- * @param type
|
|
|
|
- * @param f
|
|
|
|
- * @throws SQLException
|
|
|
|
- * @throws NumberFormatException
|
|
|
|
- */
|
|
|
|
- public static void preparedStatementSetter(PreparedStatement ps, int i, int type, Object f) {
|
|
|
|
- switch (type) {
|
|
|
|
- case Types.NUMERIC:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.NUMERIC);
|
|
|
|
- } else {
|
|
|
|
- ps.setInt(i, Integer.parseInt(String.valueOf(f)));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.NUMERIC);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.INTEGER:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.INTEGER);
|
|
|
|
- } else {
|
|
|
|
- ps.setInt(i, Integer.parseInt(String.valueOf(f)));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.INTEGER);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.BIGINT:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.BIGINT);
|
|
|
|
- } else {
|
|
|
|
- ps.setLong(i, Long.parseLong(String.valueOf(f)));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.BIGINT);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.TINYINT:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.INTEGER);
|
|
|
|
- } else {
|
|
|
|
- ps.setInt(i, Integer.parseInt(String.valueOf(f)));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.INTEGER);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.VARCHAR:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.VARCHAR);
|
|
|
|
- } else {
|
|
|
|
- ps.setString(i, String.valueOf(f));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.VARCHAR);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.CHAR:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.CHAR);
|
|
|
|
- } else {
|
|
|
|
- ps.setString(i, String.valueOf(f));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.VARCHAR);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.TIMESTAMP:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.TIMESTAMP);
|
|
|
|
- } else {
|
|
|
|
- ps.setTimestamp(i, Timestamp.valueOf(String.valueOf(f)));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.TIMESTAMP);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.DATE:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.DATE);
|
|
|
|
- } else {
|
|
|
|
- ps.setDate(i, java.sql.Date.valueOf(LocalDate.parse(f + "")));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.DATE);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.FLOAT:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.FLOAT);
|
|
|
|
- } else {
|
|
|
|
- ps.setFloat(i, Float.parseFloat(String.valueOf(f)));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.FLOAT);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.DOUBLE:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.DOUBLE);
|
|
|
|
- } else {
|
|
|
|
- ps.setDouble(i, Double.parseDouble(String.valueOf(f)));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.DOUBLE);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- case Types.LONGVARCHAR:
|
|
|
|
- try {
|
|
|
|
- if (f == null) {
|
|
|
|
- ps.setNull(i, Types.VARCHAR);
|
|
|
|
- } else {
|
|
|
|
- ps.setString(i, String.valueOf(f));
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- try {
|
|
|
|
- ps.setNull(i, Types.VARCHAR);
|
|
|
|
- } catch (SQLException e1) {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- // 当数据库为mysql,字段类型为text,如果f值里面包含非数字类型转换会失败,为兼容采用Types.VARCHAR方式替换
|
|
|
|
- // try {
|
|
|
|
- // if (f == null) {
|
|
|
|
- // ps.setNull(i, Types.LONGVARCHAR);
|
|
|
|
- // } else {
|
|
|
|
- // ps.setLong(i, Long.parseLong(String.valueOf(f)));
|
|
|
|
- // }
|
|
|
|
- // } catch (Exception e) {
|
|
|
|
- // try {
|
|
|
|
- // ps.setNull(i, Types.LONGVARCHAR);
|
|
|
|
- // } catch (SQLException e1) {
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
}
|
|
}
|