• JTS:04 读取数据库数据


    版本

    org.locationtech.jts:jts-core:1.19.0
    链接: github

    数据库

    创建数据库方式

    1. postgresql,使用postgis插件
    2. kartoza/postgis:15-3.3 使用docker容器
    -- 创建表结构
    CREATE TABLE temp_tb_geometry(
    	id serial4,
    	wkt_geometry geometry,
    	PRIMARY KEY (id)
    )
    -- 插入数据
    INSERT INTO temp_tb_geometry(wkt_geometry) VALUES 
    ('SRID=4326;POINT(118.7043304 32.0419021)')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    代码

    import org.locationtech.jts.io.WKBReader;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.sql.*;
    
    public class PostgresStu {
    
        private final static String url = "jdbc:postgresql://192.168.111.128:5432/postgres";
    
        private final static String user = "postgres";
    
        private final static String password = "postgres";
    
        private static final Logger LOGGER = LoggerFactory.getLogger(PostgresStu.class);
    
        public static void main(String[] args) throws Exception {
            WKBReader wkbReader = new WKBReader();
            Connection conn = DriverManager.getConnection(url, user, password);
            LOGGER.info("连接是否关闭:{}", conn.isClosed());
    
            String sql = "SELECT * FROM temp_tb_geometry";
            Statement statement = conn.createStatement();
            ResultSet resultSet = statement.executeQuery(sql);
    
            while (resultSet.next()) {
                String id = resultSet.getString("id");
                String wkt_geometry = resultSet.getString("wkt_geometry");
                LOGGER.info("Key: {}, value: {}", id, wkbReader.read(WKBReader.hexToBytes(wkt_geometry)));
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    运行结果

    17:53:56.426 [main] INFO  pers.stu.sql.PostgresStu - 连接是否关闭:false
    17:53:56.465 [main] INFO  pers.stu.sql.PostgresStu - Key: 1, value: POINT (118.7043304 32.0419021)
    
    • 1
    • 2
  • 相关阅读:
    自定义mvc增删改查
    SRS WebRTC Whip 和 Whep 部署体验问题
    JUC总结-基础篇
    Go和Java实现抽象工厂模式
    OpenJudge NOI 1.13 51:古代密码
    91. 解码方法
    冯喜运:4.26最新外汇黄金美原油走势分析及操作策略
    Redis源码与设计剖析 -- 10.列表对象
    Google Earth Engine(GEE)扩展—— geetool中的Widgets小部件(geetools:widgets)
    快速排序(C语言)
  • 原文地址:https://blog.csdn.net/God_Father_kao/article/details/132886938