java - 使用 Java 从 postgreSQL 检索 inet 数据类型?

标签 java postgresql inet

如何使用 Java 从 postgres 数据库获取 inet 数据类型?我尝试过:

ResultSet foo = // query goes here //
foo.getString("loopback");

但是当我这样做时,它会抛出一个 SQL 异常“无效的列名”。 AFAIK 没有与 Java 中的 postgres inet 相对应的数据类型。我能做什么?

最佳答案

针对 Chris Travers 的回复而发布

我原来的查询:

    //Query returning the set of devices in a given market
    String stm ="SELECT device "
                "FROM mopdb.devices d " +
                "INNER JOIN mopdb.markets m " +
                "ON (d.market_id = m.market_id) " +
                "WHERE (m.short = ?) " +
                "ORDER BY d.device_id ";

设备表中的“设备”由几列组成,包括loopback和oob,它们(显然)是IP地址(需要明确的是IPv4)。

这是我获取 ResultSet 并构造一个新的“设备”对象的行

    ResultSet d = DBUtilities.getDevicesFromMarket(m.toString());
    while(d.next()) {
        String loopback, oob;
        Device deviceName = new Device(d.getString("device"), 
                (DBInet.valueOf(d.getString("loopback"))),
                (DBInet.valueOf(oob = d.getString("oob"))), 
                d.getString("traffic_type"), d.getString("clli"),
                d.getString("rack"), d.getInt("market_id"),
                d.getString("codebase"));
        model.addElement(deviceName);
    }

DBInet.valueOf 是一个静态方法,它将 postgreSQL inet 数据类型的字符串表示形式转换为 DBInet 对象; java.net.InetAddress 的包装类。

问题是我只从设备表中选择“设备”列。下面是按预期工作的查询。

    //Query returning the set of devices in a given market
    String stm ="SELECT * " +
                "FROM mopdb.devices d " +
                "INNER JOIN mopdb.markets m " +
                "ON (d.market_id = m.market_id) " +
                "WHERE (m.short = ?) " +
                "ORDER BY d.device_id ";

关于java - 使用 Java 从 postgreSQL 检索 inet 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15552914/

相关文章:

java - 如何使用 if 语句将 URL 解析为某个 IP 地址?

java - 根据另一个类中可用的参数对列表进行排序

java - Spring Web应用程序-获取表单数据-post方法

java - 调用winapi函数后清空缓冲区

sql - sql中的串行数据类型

ruby-on-rails - rails 4 : Always use a Postgres function for a certain model field

c++ - 如何将传入流量重定向到模块到 Omnet++ 中的简单子(monad)模块?

java - Solr 字符串文字排序 - PatternReplaceFilterFactory

json - PostgreSQL 无法在标量上调用 json_object_keys

routing - Omnet++ OSPF 路由表度量