com.highgo.jdbc.util.PSQLException: 错误: 操作符不是唯一的: integer = character varying(mybatis postgreSql)

1543年前瀚高数据库1103

postgresql抛出的异常,是因为数据库类型是int类型,而java传参String造成。有2种解决方案,建议第二种方案更方便简洁

image.png

解决方案一:

代码

public int deleteSysUserSignByIds(String ids) {
    return sysUserSignMapper.deleteSysUserSignByIds(Convert.toStrArray(ids));
}

XML:

<delete id="deleteSysUserSignByIds" parameterType="String">
    delete from sys_user_sign where id in
    <foreach item="id" collection="array" open="(" separator="," close=")">
        #{id}
    </foreach>
</delete>

而数据库的id类型是int类型

修改方案:

public int deleteSysUserSignByIds(String ids) {
    return sysUserSignMapper.deleteSysUserSignByIds(Convert.toLongArray(ids));
}

传入的string数组转换为integer数组或者long数据即可。

当然对应接口方法的接收参数类型也要做相应改变。

解决方案二:(只需修改下xml文件)

解决方案是在xml内将string类型的参数变量 强转为int类型,在变量后加::int

<delete id="deleteGoodsRecordByIds" parameterType="String">
    delete from goods_record where id in
    <foreach item="id" collection="array" open="(" separator="," close=")">
        #{id}::int
    </foreach>
</delete>


相关文章

org.apache.subversion.javahl.ClientException: ¾ܾø·ÃÎʡ£ svn: Can't move 'E:\workspace\TourMarkets\.

org.apache.subversion.javahl.ClientException: ¾ܾø·ÃÎʡ£  svn: Can't move 'E:\workspace\T...

java实现合并多个word文档 且可换页 实例代码(基于docx4j)

org.docx4j/docx4j/ Maven依赖写法Maven下载jar包<dependency>    <groupId>org.docx4...

H5页面如何js实现分享到微信朋友圈

html代码:可将分享按钮部分折叠到一个角落。分享到好友,好友可直接转发。<div> 11111111111111111111111111111111111111111111111111...

postgresql如何修改表的自增序列值(瀚高数据库)

例如:我要修改sys_dict_data表的dict_code自增值。在 pgsql 中,id 自增是通过序列 SEQUENCE。一般表的自增序列名称由数据表名+主键字段+seq组成。ALTER SE...

java版单商户开源商城系统推荐(含分销、支付。亲测成功)

java版单商户开源商城系统推荐(含分销、支付。亲测成功)

推荐一款java版单商户开源商城系统。后端基于 SpringBoot 框架。【前端】移动端使用 UniApp 框架,前后端分离开发,技术vue + element UI。代码地址: http...

linux系统 命令移动文件至另一个目录

linux系统 命令移动文件至另一个目录

使用mv 命令,回车是否覆盖,输入Y,可将原文件覆盖[root@host4702 cuadmin]# mv application.yml /data/AAS-V9.0/domains/mydomai...

评论列表

新闻头条
2021-05-12 20:17:01

文章不错支持一下

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。