参考:PostGIS Plugin — GeoTools 32-SNAPSHOT User Guide
1、引入pom依赖
<dependency>
<groupId>org.geotools.jdbc</groupId>
<artifactId>gt-jdbc-postgis</artifactId>
<version>${geotools.version}</version>
</dependency>
2、使用 DataStore 查找器进行连接
连接参数解释如下:
private static void conn(String dbtype, String host, String port,
String database, String userName, String password) {
Map<String, Object> params = new HashMap<String, Object>();
params.put(PostgisNGDataStoreFactory.DBTYPE.key, dbtype);
params.put(PostgisNGDataStoreFactory.HOST.key, host);
params.put(PostgisNGDataStoreFactory.PORT.key, new Integer(port));
params.put(PostgisNGDataStoreFactory.DATABASE.key, database);
params.put(PostgisNGDataStoreFactory.SCHEMA.key, "public");
params.put(PostgisNGDataStoreFactory.USER.key, userName);
params.put(PostgisNGDataStoreFactory.PASSWD.key, password);
try {
pgDatastore = DataStoreFinder.getDataStore(params);
if (pgDatastore != null) {
System.out.println("系统连接到位于:" + host + "的空间数据库" + database
+ "成功!");
} else {
System.out.println("系统连接到位于:" + host + "的空间数据库" + database
+ "失败!请检查相关参数");
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("系统连接到位于:" + host + "的空间数据库" + database
+ "失败!请检查相关参数");
}
}
拓展(其他一些参数说明):
使用实例如下:
params.put(PostgisNGDataStoreFactory.LOOSEBBOX, true );
params.put(PostgisNGDataStoreFactory.PREPARED_STATEMENTS, true );
其他数据库连接参考:
mysql:MySQL Plugin — GeoTools 32-SNAPSHOT User Guide
oracle:Oracle Plugin — GeoTools 32-SNAPSHOT User Guide
SQL Server:SQL Server Plugin — GeoTools 32-SNAPSHOT User Guide