Skip to content

ArgPreparedStatementSetter: extract setValue(ps, position, value) [SPR-3978] #8658

@spring-projects-issues

Description

@spring-projects-issues

Stepan Koltsov opened SPR-3978 and commented

Please extract protected method


void setValue(ps, position, value)


from method


void setValues(ps)


of class ArgPreparedStatementSetter.

This refactoring is needed to support custom type unmappers. For example if I want JdbcTemplate to support joda-time types, I could subclass APSS and override setValue(ps, position, value) as


void setValue(ps, position, value) {
if (value instanceof org.joda.time.DateTime) {
ps.setTimestamp(new Timestamp(((DateTime) value).getTime());
} else {
super.setValue(ps, position, value);
}
}


Another use case is for various workarounds around buggy SQL drivers (I had problems with MSSQL's one).

This issue relates to #8657.


Affects: 2.1 M3

Referenced from: commits 3faf28e, e27330e

Metadata

Metadata

Assignees

No one assigned

    Labels

    in: dataIssues in data modules (jdbc, orm, oxm, tx)type: enhancementA general enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions