1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.ibatis.sqlmap.engine.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.util.Date;
23
24
25
26
27 public class DateOnlyTypeHandler extends BaseTypeHandler implements TypeHandler {
28
29
30 private static final String DATE_FORMAT = "yyyy/MM/dd";
31
32 @Override
33 public void setParameter(PreparedStatement ps, int i, Object parameter, String jdbcType) throws SQLException {
34 ps.setDate(i, new java.sql.Date(((Date) parameter).getTime()));
35 }
36
37 @Override
38 public Object getResult(ResultSet rs, String columnName) throws SQLException {
39 java.sql.Date sqlDate = rs.getDate(columnName);
40 if (rs.wasNull()) {
41 return null;
42 }
43 return new java.util.Date(sqlDate.getTime());
44 }
45
46 @Override
47 public Object getResult(ResultSet rs, int columnIndex) throws SQLException {
48 java.sql.Date sqlDate = rs.getDate(columnIndex);
49 if (rs.wasNull()) {
50 return null;
51 }
52 return new java.util.Date(sqlDate.getTime());
53 }
54
55 @Override
56 public Object getResult(CallableStatement cs, int columnIndex) throws SQLException {
57 java.sql.Date sqlDate = cs.getDate(columnIndex);
58 if (cs.wasNull()) {
59 return null;
60 }
61 return new java.util.Date(sqlDate.getTime());
62 }
63
64 @Override
65 public Object valueOf(String s) {
66 return SimpleDateFormatter.format(DATE_FORMAT, s);
67 }
68
69 }