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 org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26
27 import java.sql.PreparedStatement;
28 import java.sql.ResultSet;
29 import java.sql.SQLException;
30 import java.sql.Types;
31 import java.sql.Blob;
32
33
34
35
36
37
38 public class BlobDataType extends BytesDataType
39 {
40
41
42
43
44 private static final Logger logger = LoggerFactory.getLogger(BlobDataType.class);
45
46 public BlobDataType()
47 {
48 super("BLOB", Types.BLOB);
49 }
50
51 public Object getSqlValue(int column, ResultSet resultSet) throws SQLException, TypeCastException
52 {
53 if(logger.isDebugEnabled())
54 logger.debug("getSqlValue(column={}, resultSet={}) - start", String.valueOf(column), resultSet);
55
56 Blob value = resultSet.getBlob(column);
57 if (value == null || resultSet.wasNull())
58 {
59 return null;
60 }
61 return typeCast(value);
62 }
63
64 public void setSqlValue(Object value, int column, PreparedStatement statement) throws SQLException, TypeCastException
65 {
66 if (logger.isDebugEnabled())
67 {
68 logger.debug("setSqlValue(value={}, column={}, statement={}) - start",
69 new Object[]{ value, String.valueOf(column), statement});
70 }
71
72 statement.setObject(column, typeCast(value), super.getSqlType());
73 }
74 }