PostgreSQL - 使用 JDBC 写入 inet 列
PostgreSQL - write to inet column using JDBC
PostgreSQL 有漂亮的 inet 类型,但没有对应的 JDBC 类型。如何使用 Java 在 inet
列中存储 IP 地址?
我正在使用 MyBatis,而不是原始 JDBC,但问题出在 JDBC 本身。
这个问题已经在 postgresql 邮件列表 (2001, 2015) 以及其他几个地方被多次询问和回答。
由于JDBC中没有inet
,最简单的解决方案是以String
形式传递IP地址,然后转换为inet
中查询本身.
在 mybatis 中,它看起来像这样:
public interface MyMapper {
@Insert("INSERT INTO my_table (ip) VALUES (#{ip}::INET)")
int insert(@Param("ip") String ip);
}
另一种解决方案是将地址包装在实现 java.sql.SQLData
的自定义 class 中,然后将您自己的 class 作为对象传递。
PostgreSQL 有漂亮的 inet 类型,但没有对应的 JDBC 类型。如何使用 Java 在 inet
列中存储 IP 地址?
我正在使用 MyBatis,而不是原始 JDBC,但问题出在 JDBC 本身。
这个问题已经在 postgresql 邮件列表 (2001, 2015) 以及其他几个地方被多次询问和回答。
由于JDBC中没有inet
,最简单的解决方案是以String
形式传递IP地址,然后转换为inet
中查询本身.
在 mybatis 中,它看起来像这样:
public interface MyMapper {
@Insert("INSERT INTO my_table (ip) VALUES (#{ip}::INET)")
int insert(@Param("ip") String ip);
}
另一种解决方案是将地址包装在实现 java.sql.SQLData
的自定义 class 中,然后将您自己的 class 作为对象传递。