Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 7 additions & 18 deletions src/main/java/org/apache/ibatis/type/BlobTypeHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,31 +36,20 @@ public void setNonNullParameter(PreparedStatement ps, int i, byte[] parameter, J

@Override
public byte[] getNullableResult(ResultSet rs, String columnName) throws SQLException {
Blob blob = rs.getBlob(columnName);
byte[] returnValue = null;
if (null != blob) {
returnValue = blob.getBytes(1, (int) blob.length());
}
return returnValue;
return toPrimitiveBytes(rs.getBlob(columnName));
}

@Override
public byte[] getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
Blob blob = rs.getBlob(columnIndex);
byte[] returnValue = null;
if (null != blob) {
returnValue = blob.getBytes(1, (int) blob.length());
}
return returnValue;
return toPrimitiveBytes(rs.getBlob(columnIndex));
}

@Override
public byte[] getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
Blob blob = cs.getBlob(columnIndex);
byte[] returnValue = null;
if (null != blob) {
returnValue = blob.getBytes(1, (int) blob.length());
}
return returnValue;
return toPrimitiveBytes(cs.getBlob(columnIndex));
}

private byte[] toPrimitiveBytes(Blob blob) throws SQLException {
return blob == null ? null : blob.getBytes(1, (int) blob.length());
}
}
22 changes: 7 additions & 15 deletions src/main/java/org/apache/ibatis/type/CharacterTypeHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,28 +33,20 @@ public void setNonNullParameter(PreparedStatement ps, int i, Character parameter

@Override
public Character getNullableResult(ResultSet rs, String columnName) throws SQLException {
String columnValue = rs.getString(columnName);
if (columnValue != null && !columnValue.isEmpty()) {
return columnValue.charAt(0);
}
return null;
return toCharacter(rs.getString(columnName));
}

@Override
public Character getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
String columnValue = rs.getString(columnIndex);
if (columnValue != null && !columnValue.isEmpty()) {
return columnValue.charAt(0);
}
return null;
return toCharacter(rs.getString(columnIndex));
}

@Override
public Character getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
String columnValue = cs.getString(columnIndex);
if (columnValue != null && !columnValue.isEmpty()) {
return columnValue.charAt(0);
}
return null;
return toCharacter(cs.getString(columnIndex));
}

private Character toCharacter(String value) {
return value == null || value.isEmpty() ? null : value.charAt(0);
}
}
22 changes: 7 additions & 15 deletions src/main/java/org/apache/ibatis/type/DateOnlyTypeHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,29 +33,21 @@ public void setNonNullParameter(PreparedStatement ps, int i, Date parameter, Jdb

@Override
public Date getNullableResult(ResultSet rs, String columnName) throws SQLException {
java.sql.Date sqlDate = rs.getDate(columnName);
if (sqlDate != null) {
return new Date(sqlDate.getTime());
}
return null;
return toSqlDate(rs.getDate(columnName));
}

@Override
public Date getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
java.sql.Date sqlDate = rs.getDate(columnIndex);
if (sqlDate != null) {
return new Date(sqlDate.getTime());
}
return null;
return toSqlDate(rs.getDate(columnIndex));
}

@Override
public Date getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
java.sql.Date sqlDate = cs.getDate(columnIndex);
if (sqlDate != null) {
return new Date(sqlDate.getTime());
}
return null;
return toSqlDate(cs.getDate(columnIndex));
}

private java.sql.Date toSqlDate(Date date) {
return date == null ? null : new java.sql.Date(date.getTime());
}

}
23 changes: 8 additions & 15 deletions src/main/java/org/apache/ibatis/type/DateTypeHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,28 +34,21 @@ public void setNonNullParameter(PreparedStatement ps, int i, Date parameter, Jdb

@Override
public Date getNullableResult(ResultSet rs, String columnName) throws SQLException {
Timestamp sqlTimestamp = rs.getTimestamp(columnName);
if (sqlTimestamp != null) {
return new Date(sqlTimestamp.getTime());
}
return null;
return toDate(rs.getTimestamp(columnName));
}

@Override
public Date getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
Timestamp sqlTimestamp = rs.getTimestamp(columnIndex);
if (sqlTimestamp != null) {
return new Date(sqlTimestamp.getTime());
}
return null;
return toDate(rs.getTimestamp(columnIndex));
}

@Override
public Date getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
Timestamp sqlTimestamp = cs.getTimestamp(columnIndex);
if (sqlTimestamp != null) {
return new Date(sqlTimestamp.getTime());
}
return null;
return toDate(cs.getTimestamp(columnIndex));
}

private Date toDate(Timestamp timestamp) {
return timestamp == null ? null : new Date(timestamp.getTime());
}

}
23 changes: 8 additions & 15 deletions src/main/java/org/apache/ibatis/type/TimeOnlyTypeHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,28 +34,21 @@ public void setNonNullParameter(PreparedStatement ps, int i, Date parameter, Jdb

@Override
public Date getNullableResult(ResultSet rs, String columnName) throws SQLException {
Time sqlTime = rs.getTime(columnName);
if (sqlTime != null) {
return new Date(sqlTime.getTime());
}
return null;
return toDate(rs.getTime(columnName));
}

@Override
public Date getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
Time sqlTime = rs.getTime(columnIndex);
if (sqlTime != null) {
return new Date(sqlTime.getTime());
}
return null;
return toDate(rs.getTime(columnIndex));
}

@Override
public Date getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
Time sqlTime = cs.getTime(columnIndex);
if (sqlTime != null) {
return new Date(sqlTime.getTime());
}
return null;
return toDate(cs.getTime(columnIndex));
}

private Date toDate(Time time) {
return time == null ? null : new Date(time.getTime());
}

}
11 changes: 6 additions & 5 deletions src/main/java/org/apache/ibatis/type/YearMonthTypeHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,20 @@ public void setNonNullParameter(PreparedStatement ps, int i, YearMonth yearMonth

@Override
public YearMonth getNullableResult(ResultSet rs, String columnName) throws SQLException {
String value = rs.getString(columnName);
return value == null ? null : YearMonth.parse(value);
return toYearMonth(rs.getString(columnName));
}

@Override
public YearMonth getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
String value = rs.getString(columnIndex);
return value == null ? null : YearMonth.parse(value);
return toYearMonth(rs.getString(columnIndex));
}

@Override
public YearMonth getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
String value = cs.getString(columnIndex);
return toYearMonth(cs.getString(columnIndex));
}

private YearMonth toYearMonth(String value) {
return value == null ? null : YearMonth.parse(value);
}

Expand Down