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.Timestamp;
23 import java.util.Date;
24
25
26
27
28 public class DateTypeHandler extends BaseTypeHandler<Date> {
29
30 @Override
31 public void setNonNullParameter(PreparedStatement ps, int i, Date parameter, JdbcType jdbcType) throws SQLException {
32 ps.setTimestamp(i, new Timestamp(parameter.getTime()));
33 }
34
35 @Override
36 public Date getNullableResult(ResultSet rs, String columnName) throws SQLException {
37 return toDate(rs.getTimestamp(columnName));
38 }
39
40 @Override
41 public Date getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
42 return toDate(rs.getTimestamp(columnIndex));
43 }
44
45 @Override
46 public Date getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
47 return toDate(cs.getTimestamp(columnIndex));
48 }
49
50 private Date toDate(Timestamp timestamp) {
51 return timestamp == null ? null : new Date(timestamp.getTime());
52 }
53
54 }