Я пробую простой пример кода mybatis на Mac, который подключается к локальному серверу postgresql. Я тестирую соединение с сервером с помощью собственного тестового кода java jdbc, все работает найти.
Тогда мой проект Intellij mybatis maven настроен с использованием "resources / postgres.properties"
jdbc.driver="org.postgresql.Driver"
jdbc.url="jdbc:postgresql://localhost:5432/postgres"
jdbc.username="postgres"
jdbc.password="password"
Это конфигурация, которая работала для моего тестового кода jdbc, и мой "resources / mybatis.cfg.xml" имеет:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql:/localhost:5432/postgres" />
<property name="username" value="postgres" />
<property name="password" value="password" />
</dataSource>
</environment>
</environments>
Затем в моей программе mybatis при вызове функции mapper она выдает org.apache.ibatis.exceptions.PersistenceException:
Caused by: java.net.UnknownHostException: localhost
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.postgresql.core.PGStream.<init>(PGStream.java:70)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
... 25 more
Я искал некоторое время, все говорят, что это потому, что в моем / etc / hosts нет конфигурации localhost. Но на самом деле у меня есть эти 2 строки:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 localhost localhost.localdomain localhost6 localhost6.localdomain6
В моей среде intellij я уже выполнил "Структура проекта-> библиотеки->", чтобы добавить свой драйвер postgre в мой проект.
Так что, похоже, это не проблема конфигурации localhost. Откуда могло возникнуть исключение, как я могу устранить неполадки и решить их?
Спасибо!