1.问题描述
如果你也使用的是,mybatis-postgresql数据库,插入insert数据时候报错信息,那么希望可以帮到你:
Error attempting to get column #1 from result set. Cause: org.postgresql.util.PSQLException: 不良的类型值 long : test
2.解决方法:
去除代码生成xml文件中的自增信息,报错就会消失:
useGeneratedKeys=“true” keyProperty=“rainTypicalId”
原因:
MvBatis如果使用useGeneratedKeys去生成自增列会造成不成功,因为官方提供只支持这些数据库:
https://mybatis.org/generator/configreference/generatedKey.html
可以通过数据库设置自增主键来实现,代码中可以将其去除。
在PostgreSQL中,USEGENERATEDKEYS 属性通常用于指示JDBC驱动程序应该返回由数据库自动生成的键(例如,插入操作后的自增主键)。然而,PostgreSQL JDBC驱动程序并不支持这个属性,因为PostgreSQL没有内置的机制来返回由数据库自动生成的键。
在PostgreSQL中,通常使用 RETURNING 子句来获取插入操作后生成的键值。
INSERT INTO tablename (column1, column2) VALUES (value1, value2) RETURNING id;