1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.type;
17
18 import java.sql.CallableStatement;
19 import java.sql.PreparedStatement;
20 import java.sql.ResultSet;
21 import java.sql.SQLException;
22 import java.sql.Time;
23 import java.util.Date;
24
25
26
27
28 public class TimeOnlyTypeHandler extends BaseTypeHandler<Date> {
29
30 @Override
31 public void setNonNullParameter(PreparedStatement ps, int i, Date parameter, JdbcType jdbcType) throws SQLException {
32 ps.setTime(i, new Time(parameter.getTime()));
33 }
34
35 @Override
36 public Date getNullableResult(ResultSet rs, String columnName) throws SQLException {
37 return toDate(rs.getTime(columnName));
38 }
39
40 @Override
41 public Date getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
42 return toDate(rs.getTime(columnIndex));
43 }
44
45 @Override
46 public Date getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
47 return toDate(cs.getTime(columnIndex));
48 }
49
50 private Date toDate(Time time) {
51 return time == null ? null : new Date(time.getTime());
52 }
53
54 }