我的 postgreSQL 数据库实例中有一个类型作为“指定”。 我有一个名为“Prof”的表,其中有一列“designation”类型为“designation”。 我想使用 java 将值插入此列。
代码片段:
insProf.setInt(1, id);
insProf.setInt(2, univ_id);
insProf.setString(3, desg);
int rs_insProf = insProf.executeUpdate();
输出错误:
Enter designation: org.postgresql.util.PSQLException: ERROR: invalid input value for enum designation: ""
请在语法方面提供帮助,我不知道如何最好地处理这个问题。
最佳答案
您可以使用 setObject() 和 getObject() 方法。
看看 setObject() 和 getObject()。
根据文档,“如果对象属于实现 SQLData 接口(interface)的类,则 JDBC 驱动程序应调用 SQLData.writeSQL 方法将其写入 SQL 数据流。”
因此您可以通过创建实现 SQLData 接口(interface)的自定义类来创建自己的类型。
另外,不要忘记将您的自定义类型注册到驱动程序的类型映射中。
还有教程:https://docs.oracle.com/javase/tutorial/jdbc/basics/sqlcustommapping.html
关于java - 使用java api在postgres自定义类型字段中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43086185/