PostgreSQL - запись в столбец inet с использованием JDBC - PullRequest
0 голосов
/ 05 мая 2019

PostgreSQL имеет отличный тип inet , но для него нет соответствующего типа JDBC.Как сохранить IP-адрес в столбце inet с использованием Java?

Я использую MyBatis , а не необработанный JDBC, но проблема связана с самим JDBC.

1 Ответ

2 голосов
/ 05 мая 2019

Этот вопрос задавался и отвечался несколько раз в списке рассылки postgresql ( 2001 , 2015 ), а также в нескольких других местах.

Поскольку нетinet в JDBC, самое простое решение - передать IP-адрес в форме String, затем привести к inet в самом запросе .

В mybatis это выглядит так:

public interface MyMapper {

    @Insert("INSERT INTO my_table (ip) VALUES (#{ip}::INET)")
    int insert(@Param("ip") String ip);

}

Другое решение состоит в том, чтобы обернуть адрес в пользовательский класс, который реализует java.sql.SQLData, а затем просто передать свой собственный класс как объект.

...