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.math.BigDecimal;
19 import java.math.BigInteger;
20 import java.sql.CallableStatement;
21 import java.sql.PreparedStatement;
22 import java.sql.ResultSet;
23 import java.sql.SQLException;
24
25
26
27
28 public class BigIntegerTypeHandler extends BaseTypeHandler<BigInteger> {
29
30 @Override
31 public void setNonNullParameter(PreparedStatement ps, int i, BigInteger parameter, JdbcType jdbcType)
32 throws SQLException {
33 ps.setBigDecimal(i, new BigDecimal(parameter));
34 }
35
36 @Override
37 public BigInteger getNullableResult(ResultSet rs, String columnName) throws SQLException {
38 BigDecimal bigDecimal = rs.getBigDecimal(columnName);
39 return bigDecimal == null ? null : bigDecimal.toBigInteger();
40 }
41
42 @Override
43 public BigInteger getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
44 BigDecimal bigDecimal = rs.getBigDecimal(columnIndex);
45 return bigDecimal == null ? null : bigDecimal.toBigInteger();
46 }
47
48 @Override
49 public BigInteger getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
50 BigDecimal bigDecimal = cs.getBigDecimal(columnIndex);
51 return bigDecimal == null ? null : bigDecimal.toBigInteger();
52 }
53 }