Java 如何在JDBC中为preparedStatement的旋转点创建STRUCT对象?
我正在使用java中的PreparedStatement处理批量插入到oracle数据库:Java 如何在JDBC中为preparedStatement的旋转点创建STRUCT对象?,java,oracle11g,Java,Oracle11g,我正在使用java中的PreparedStatement处理批量插入到oracle数据库: INSERT INTO table (id, geometry) VALUES (?, ?); 要创建点,我使用JGeometry并将其存储到STRUCT中: double[] pos = {x, y}; JGeometry sdoGeometry = JGeometry.createPoint(pos, 2, srid); Struct sgeo = JGeometry.store(sdoGeomet
INSERT INTO table (id, geometry) VALUES (?, ?);
要创建点,我使用JGeometry并将其存储到STRUCT中:
double[] pos = {x, y};
JGeometry sdoGeometry = JGeometry.createPoint(pos, 2, srid);
Struct sgeo = JGeometry.store(sdoGeometry , connection);
然后我为准备好的语句设置对象:
ps.setInteger(id);
ps.setObject(sgeo);
最后,我在数据库中找到了我的几何图形:
SDO_GEOMETRY(2001, srid, MDSYS.SDO_POINT_TYPE(x, y, NULL), NULL, NULL)
我想知道是否有办法插入旋转点,如下图所示?也许使用JG几何以外的其他类别
SDO_GEOMETRY(2001, srid, NULL, SDO_ELEM_INFO_ARRAY(1,1,1,3,1,0), SDO_ORDINATE_ARRAY(x, y, rotX, rotY)
使用构造器进行几何测量(适用于所有几何图形,也适用于复合几何图形、圆弧、带孔多边形和多重几何图形): J几何公共J几何(双x, 双y, int srid) 构造作为点的二维几何实例 参数:
- 标签点的x-x坐标
- 标签点srid的y-y坐标-srid;如果使用0,则当 转换成DB格式
- elemInfo-几何元素信息数组
- 坐标-几何坐标阵列
int[] elems = {1, 1, 1, 3, 1, 0};
double[] coords = {x, y, rotX, rotY};
JGeometry sdoGeometry = new JGeometry(JGeometry.GTYPE_POINT, srid, elems, coords);