JDBC操作oracle数据类型Struct:
当我们需要使用jdbc插入数据时,如果是常见的数据类型,很容易就能够实现数据的入库。但是数据类型Struct有些特殊,那如果我们碰到这个类型改如何操作呢
解决:
1、第一步需要使用oracle.spatial.geometry.JGeometry的类,依赖如下:
<dependency>
<groupId>com.oracle.spatial</groupId>
<artifactId>com.springsource.oracle.spatial.geometry</artifactId>
<version>10.2.0.1</version>
</dependency>
2、第二步,利用JGeometry类实现数据入库
ResultSet rs = statement.executeQuery("select shape from student");
STRUCT st = (oracle.sql.STRUCT) rs.getObject(1);
//convert STRUCT into geometry
JGeometry j_geom = JGeometry.load(st);
/// writing a geometry back to database
PreparedStatement ps = connection.prepareStatement("insert into student(shape)values(?)");
//convert JGeometry instance to DB STRUCT
STRUCT obj = JGeometry.store(j_geom, connection);
ps.setObject(1, obj);
ps.execute();