1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.dbunit.dataset.datatype;
23
24 import java.sql.Clob;
25 import java.sql.PreparedStatement;
26 import java.sql.ResultSet;
27 import java.sql.SQLException;
28 import java.sql.Types;
29
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
32
33
34
35
36
37
38
39 public class ClobDataType extends StringDataType
40 {
41 private static final Logger logger =
42 LoggerFactory.getLogger(ClobDataType.class);
43
44 public ClobDataType()
45 {
46 super("CLOB", Types.CLOB);
47 }
48
49 @Override
50 public Object getSqlValue(final int column, final ResultSet resultSet)
51 throws SQLException, TypeCastException
52 {
53 logger.debug("getSqlValue(column={}, resultSet={}) - start", column,
54 resultSet);
55 final Clob rawValue = resultSet.getClob(column);
56 final Object value = resultSet.wasNull() ? null : typeCast(rawValue);
57 logger.debug("getSqlValue: column={}, value={}", column, value);
58 return value;
59 }
60
61 @Override
62 public void setSqlValue(final Object value, final int column,
63 final PreparedStatement statement)
64 throws SQLException, TypeCastException
65 {
66 logger.debug("setSqlValue(value={}, column={}, statement={}) - start",
67 value, column, statement);
68
69 statement.setObject(column, typeCast(value), getSqlType());
70 }
71 }