| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | package org.jeecg.modules.demo.onemap.utils;import com.sun.istack.internal.NotNull;import lombok.extern.slf4j.Slf4j;import org.geotools.data.DataStore;import org.geotools.data.DataStoreFinder;import org.geotools.data.postgis.PostgisNGDataStoreFactory;import java.io.IOException;import java.util.HashMap;import java.util.Map;/** * @author wangkang * @email iwuang@qq.com * @date 2019/1/24 16:28 */@Slf4jpublic class PGDatastore {    private static DataStore dataStore = null;    //private static Logger logger = Logger.getLogger(PGDatastore.class);    @NotNull    private String host;    @NotNull    private String port;    @NotNull    private String dbname;    @NotNull    private String schema;    @NotNull    private String username;    @NotNull    private String password;    public PGDatastore() {    }    /**     * 只有get或者Create时才会实际连接数据库     * @param host     * @param port     * @param dbname     * @param schema     * @param username     * @param password     */    public PGDatastore(String host, String port, String dbname, String schema, String username, String password) {        this.host = host;        this.port = port;        this.dbname = dbname;        this.schema = schema;        this.username = username;        this.password = password;    }   // public static Logger getLogger() {      //  return logger;   // }   // public static void setLogger(Logger logger) {       // PGDatastore.logger = logger;    //}    public static DataStore getDefeaultDatastore() {        if (dataStore == null) {            Map<String, Object> params = new HashMap<String, Object>();            params.put(PostgisNGDataStoreFactory.DBTYPE.key, "postgis");            params.put(PostgisNGDataStoreFactory.HOST.key, "211.159.225.204");            params.put(PostgisNGDataStoreFactory.PORT.key, new Integer(5432));            params.put(PostgisNGDataStoreFactory.DATABASE.key, "hzz");            params.put(PostgisNGDataStoreFactory.SCHEMA.key, "public");            params.put(PostgisNGDataStoreFactory.USER.key, "postgres");            params.put(PostgisNGDataStoreFactory.PASSWD.key, "AAaa!@#123");            try {                dataStore = DataStoreFinder.getDataStore(params);            } catch (IOException e) {                //logger.error("默认Postgis数据库连接失败", e);            }        }        return dataStore;    }    public String getHost() {        return host;    }    public void setHost(String host) {        this.host = host;    }    public String getPort() {        return port;    }    public void setPort(String port) {        this.port = port;    }    public String getDbname() {        return dbname;    }    public void setDbname(String dbname) {        this.dbname = dbname;    }    public String getSchema() {        return schema;    }    public void setSchema(String schema) {        this.schema = schema;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public DataStore getDatastore() {        if (dataStore == null) {            Map<String, Object> params = new HashMap<String, Object>();            params.put(PostgisNGDataStoreFactory.DBTYPE.key, "postgis");            params.put(PostgisNGDataStoreFactory.HOST.key, host);            params.put(PostgisNGDataStoreFactory.PORT.key, new Integer(port));            params.put(PostgisNGDataStoreFactory.DATABASE.key, dbname);            params.put(PostgisNGDataStoreFactory.SCHEMA.key, schema);            params.put(PostgisNGDataStoreFactory.USER.key, username);            params.put(PostgisNGDataStoreFactory.PASSWD.key, password);            try {                dataStore = DataStoreFinder.getDataStore(params);            } catch (IOException e) {               log.error("Postgis数据库连接失败", e);            }        }        if (dataStore == null) {            dataStore = getDefeaultDatastore();        }        return dataStore;    }    public void dispose() {        dataStore.dispose();        dataStore = null;    }}
 |