从MySQL数据库中提取BLOB多边形?

时间:2015-07-21 20:20:57

标签: java mysql jdbc blob polygon

我正在开发一个使用jsf将多边形存储在数据库中的Web应用程序。我可以使用 MySQL 中的 POLYGON 数据类型将多边形存储在行的字段中,然后多边形在 BLOB 中显示为数据库。

但是我不确定如何使用JDBC中的行集访问每行中的多边形。理想情况下,我想将此数据从POLYGON BLOB转换为 LatLng数组

我知道它可以使用MYSQL作为 WKT 返回

(SELECT * ST_AsText(markers) FROM paddock) 

但我不确定如何在Java中访问它。如果有人有任何想法,请随时分享,谢谢。

1 个答案:

答案 0 :(得分:1)

我找到了问题的答案。我使用上面的MySQL语句返回一个字符串值并使用java正则表达式来提取坐标

                    Polygon polygon = new Polygon();
                    String value = rs.getString(1);
                    String valuereal = value.replaceAll("[^0-9 .,]+", "");
                    ArrayList<String> myList = new ArrayList<String>(Arrays.asList(valuereal.split(",")));

上面的正则表达式只允许MySQL中的BLOB POLYGON类型的数字,点和逗号,然后使用分割将其存储在字符串数组中。