4ba5ec612d817c045a4c6140546b5794c6285936.svn-base 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package org.jeecg.modules.demo.onemap.utils;
  2. import com.sun.istack.internal.NotNull;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.geotools.data.DataStore;
  5. import org.geotools.data.DataStoreFinder;
  6. import org.geotools.data.postgis.PostgisNGDataStoreFactory;
  7. import java.io.IOException;
  8. import java.util.HashMap;
  9. import java.util.Map;
  10. /**
  11. * @author wangkang
  12. * @email iwuang@qq.com
  13. * @date 2019/1/24 16:28
  14. */
  15. @Slf4j
  16. public class PGDatastore {
  17. private static DataStore dataStore = null;
  18. //private static Logger logger = Logger.getLogger(PGDatastore.class);
  19. @NotNull
  20. private String host;
  21. @NotNull
  22. private String port;
  23. @NotNull
  24. private String dbname;
  25. @NotNull
  26. private String schema;
  27. @NotNull
  28. private String username;
  29. @NotNull
  30. private String password;
  31. public PGDatastore() {
  32. }
  33. /**
  34. * 只有get或者Create时才会实际连接数据库
  35. * @param host
  36. * @param port
  37. * @param dbname
  38. * @param schema
  39. * @param username
  40. * @param password
  41. */
  42. public PGDatastore(String host, String port, String dbname, String schema, String username, String password) {
  43. this.host = host;
  44. this.port = port;
  45. this.dbname = dbname;
  46. this.schema = schema;
  47. this.username = username;
  48. this.password = password;
  49. }
  50. // public static Logger getLogger() {
  51. // return logger;
  52. // }
  53. // public static void setLogger(Logger logger) {
  54. // PGDatastore.logger = logger;
  55. //}
  56. public static DataStore getDefeaultDatastore() {
  57. if (dataStore == null) {
  58. Map<String, Object> params = new HashMap<String, Object>();
  59. params.put(PostgisNGDataStoreFactory.DBTYPE.key, "postgis");
  60. params.put(PostgisNGDataStoreFactory.HOST.key, "211.159.225.204");
  61. params.put(PostgisNGDataStoreFactory.PORT.key, new Integer(5432));
  62. params.put(PostgisNGDataStoreFactory.DATABASE.key, "hzz");
  63. params.put(PostgisNGDataStoreFactory.SCHEMA.key, "public");
  64. params.put(PostgisNGDataStoreFactory.USER.key, "postgres");
  65. params.put(PostgisNGDataStoreFactory.PASSWD.key, "AAaa!@#123");
  66. try {
  67. dataStore = DataStoreFinder.getDataStore(params);
  68. } catch (IOException e) {
  69. //logger.error("默认Postgis数据库连接失败", e);
  70. }
  71. }
  72. return dataStore;
  73. }
  74. public String getHost() {
  75. return host;
  76. }
  77. public void setHost(String host) {
  78. this.host = host;
  79. }
  80. public String getPort() {
  81. return port;
  82. }
  83. public void setPort(String port) {
  84. this.port = port;
  85. }
  86. public String getDbname() {
  87. return dbname;
  88. }
  89. public void setDbname(String dbname) {
  90. this.dbname = dbname;
  91. }
  92. public String getSchema() {
  93. return schema;
  94. }
  95. public void setSchema(String schema) {
  96. this.schema = schema;
  97. }
  98. public String getUsername() {
  99. return username;
  100. }
  101. public void setUsername(String username) {
  102. this.username = username;
  103. }
  104. public String getPassword() {
  105. return password;
  106. }
  107. public void setPassword(String password) {
  108. this.password = password;
  109. }
  110. public DataStore getDatastore() {
  111. if (dataStore == null) {
  112. Map<String, Object> params = new HashMap<String, Object>();
  113. params.put(PostgisNGDataStoreFactory.DBTYPE.key, "postgis");
  114. params.put(PostgisNGDataStoreFactory.HOST.key, host);
  115. params.put(PostgisNGDataStoreFactory.PORT.key, new Integer(port));
  116. params.put(PostgisNGDataStoreFactory.DATABASE.key, dbname);
  117. params.put(PostgisNGDataStoreFactory.SCHEMA.key, schema);
  118. params.put(PostgisNGDataStoreFactory.USER.key, username);
  119. params.put(PostgisNGDataStoreFactory.PASSWD.key, password);
  120. try {
  121. dataStore = DataStoreFinder.getDataStore(params);
  122. } catch (IOException e) {
  123. log.error("Postgis数据库连接失败", e);
  124. }
  125. }
  126. if (dataStore == null) {
  127. dataStore = getDefeaultDatastore();
  128. }
  129. return dataStore;
  130. }
  131. public void dispose() {
  132. dataStore.dispose();
  133. dataStore = null;
  134. }
  135. }