/** * Derives a default SQL type from the corresponding property type. * @see org.springframework.jdbc.core.StatementCreatorUtils#javaTypeToSqlParameterType */ @Override public int getSqlType(String paramName) { int sqlType = super.getSqlType(paramName); if (sqlType != TYPE_UNKNOWN) { return sqlType; } Class<?> propType = this.beanWrapper.getPropertyType(paramName); return StatementCreatorUtils.javaTypeToSqlParameterType(propType); }
@Override public void processParameter(String parameterName, Object arg, Class<?> parameterType, MapSqlParameterSource ps) { ps.addValue(parameterName, arg, StatementCreatorUtils.javaTypeToSqlParameterType(parameterType)); }
public static int getSqlType(Class<?> type) { int sqlType = StatementCreatorUtils.javaTypeToSqlParameterType(type); if (sqlType != SqlTypeValue.TYPE_UNKNOWN) { return sqlType; } if (LocalDate.class.isAssignableFrom(type)) { return Types.DATE; } if (LocalDateTime.class.isAssignableFrom(type)) { return Types.TIMESTAMP; } if (LocalTime.class.isAssignableFrom(type)) { return Types.TIME; } if (ZonedDateTime.class.isAssignableFrom(type)) { return Types.TIMESTAMP; } if (OffsetDateTime.class.isAssignableFrom(type)) { return Types.TIMESTAMP; } if (OffsetTime.class.isAssignableFrom(type)) { return Types.TIME; } return SqlTypeValue.TYPE_UNKNOWN; }
@Override public int getSqlType(String paramName) { if (!hasValue(paramName)) { return TYPE_UNKNOWN; } Object value = getValue(paramName); return StatementCreatorUtils.javaTypeToSqlParameterType(value.getClass()); }
public PreparedStatement createPreparedStatement(Connection con) throws SQLException { log.debug("createPreparedStatement: {}", sql); for (String key : parameterMap.keySet()) { log.debug(" {} => {}", key, parameterMap.get(key)); } SqlAndParams sap = createSqlAndParams(); PreparedStatement ps = con.prepareStatement(sap.getSql()); for (int i = 0; i < sap.getParams().size(); i++) { Object paramValue = sap.getParams().get(i); int paramSqlType = paramValue != null ? StatementCreatorUtils.javaTypeToSqlParameterType(paramValue.getClass()) : SqlTypeValue.TYPE_UNKNOWN; StatementCreatorUtils.setParameterValue(ps, i + 1, paramSqlType, paramValue); } return ps; }
/** * Derives a default SQL type from the corresponding property type. * @see org.springframework.jdbc.core.StatementCreatorUtils#javaTypeToSqlParameterType */ @Override public int getSqlType(String paramName) { int sqlType = super.getSqlType(paramName); if (sqlType != TYPE_UNKNOWN) { return sqlType; } Class propType = this.beanWrapper.getPropertyType(paramName); return StatementCreatorUtils.javaTypeToSqlParameterType(propType); }
/** * Derives a default SQL type from the corresponding property type. * @see org.springframework.jdbc.core.StatementCreatorUtils#javaTypeToSqlParameterType */ @Override public int getSqlType(String paramName) { int sqlType = super.getSqlType(paramName); if (sqlType != TYPE_UNKNOWN) { return sqlType; } Class<?> propType = this.beanWrapper.getPropertyType(paramName); return StatementCreatorUtils.javaTypeToSqlParameterType(propType); }
private static int getParameterType(PropertyMapping<?, ?, JdbcColumnKey> pm) { Class<?> propertyType = TypeHelper.toClass(pm.getPropertyMeta().getPropertyType()); if (pm.getColumnDefinition().has(SqlTypeColumnProperty.class)) { return pm.getColumnDefinition().lookFor(SqlTypeColumnProperty.class).getSqlType(); } int t = StatementCreatorUtils.javaTypeToSqlParameterType(propertyType); if (t == SqlTypeValue.TYPE_UNKNOWN) { //IFJAVA8_START if (propertyType.equals(ZonedDateTime.class) || propertyType.equals(OffsetDateTime.class)) { return Types.TIMESTAMP_WITH_TIMEZONE; } if (propertyType.equals(Instant.class) || propertyType.equals(LocalDateTime.class)) { return Types.TIMESTAMP; } if (propertyType.equals(LocalDate.class)) { return Types.DATE; } if (propertyType.equals(LocalTime.class)) { return Types.TIME; } //IFJAVA8_END return JdbcColumnKey.UNDEFINED_TYPE; } return t; }
public int update(String sql, KeyHolder keyHolder, Object... args) throws DataAccessException { // List<SqlParameter> params = new ArrayList<SqlParameter>(args.length); int[] paramType = new int[args.length]; // Types int p = 0; for (Object obj : args) { if (obj == null) obj = ""; int type = StatementCreatorUtils.javaTypeToSqlParameterType(obj.getClass()); paramType[p++] = type; // SqlParameterValue value = new SqlParameterValue(type, obj); // params.add(value); } PreparedStatementCreatorFactory pscf = new PreparedStatementCreatorFactory(sql, paramType); pscf.setReturnGeneratedKeys(true); PreparedStatementCreator psc = pscf.newPreparedStatementCreator(getArguments(args)); int ret = getJdbcOperations().update(psc, keyHolder); return ret; }