Postgis - 如何通过JDBC处理数据类型"地理"

Eri*_*ang 1 java postgresql postgis jdbc mybatis

处理使用的Web项目postgresql 9.3 postgis 2.1.

表中有一列类型geography,它只存储一个point.

现在我需要通过JDBC使用Java对象插入/选择类型.

阅读postgis手册后,没有找到太多相关信息.

问题是:

  1. 在java pojo模型类中,应该为列使用什么Java数据类型?
  2. 如何编写插入sql?
  3. 如何编写select sql来检索值并放入Java对象?
  4. 如果mybatis使用,那么它是否会影响上述问题的答案?

Mik*_*e T 7

POINT几何图形不需要特殊类型.只需使用原始数据类型,如double坐标.

例如,插入一个新的geography通过类型lonlat参数,采用几何构造函数:

INSERT INTO my_table (geog)
VALUES (ST_SetSRID(ST_MakePoint(:lon, :lat), 4326)::geography);
Run Code Online (Sandbox Code Playgroud)

或者将它们作为浮点数返回,使用几何访问器函数:

SELECT ST_Y(geog::geometry) AS lat, ST_X(geog::geometry) AS lon FROM my_table;
Run Code Online (Sandbox Code Playgroud)

还有其他输入/输出格式,如GeoJSON,WKT等.