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.time.Year;
23
24
25
26
27
28 public class YearTypeHandler extends BaseTypeHandler<Year> {
29
30 @Override
31 public void setNonNullParameter(PreparedStatement ps, int i, Year year, JdbcType type) throws SQLException {
32 ps.setInt(i, year.getValue());
33 }
34
35 @Override
36 public Year getNullableResult(ResultSet rs, String columnName) throws SQLException {
37 int year = rs.getInt(columnName);
38 return year == 0 && rs.wasNull() ? null : Year.of(year);
39 }
40
41 @Override
42 public Year getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
43 int year = rs.getInt(columnIndex);
44 return year == 0 && rs.wasNull() ? null : Year.of(year);
45 }
46
47 @Override
48 public Year getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
49 int year = cs.getInt(columnIndex);
50 return year == 0 && cs.wasNull() ? null : Year.of(year);
51 }
52
53 }