Mybatis-plus + PostgreSQL json格式类型转换异常

前言

Mybatis Plus中自带很多Json类型处理器,在MySQL中直接使用没有任何问题,但在PostgreSQL中却报错:
Caused by: org.postgresql.util.PSQLException: 错误: 字段 "xxx" 的类型为 json, 但表达式的类型为 character varying

解决方案

用法上没有变化,仅在PostgreSQL 的url后追加参数stringtype=unspecified

yml 复制代码
spring:
  datasource:
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/xxx?stringtype=unspecified

PostgreSQL 的 JDBC 驱动默认会把所有参数都当作varchar 类型发送。对于 JSON 字段,必须告诉驱动不要预设类型,让 MyBatis-Plus 的 TypeHandler 接管处理。

相关推荐
譕痕3 天前
JSONObject与JSONArray封装数据格式区别
java·json
A黄俊辉A3 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
geovindu3 天前
sql: Transaction & Concurrency Patterns using postgresql 18
postgresql·数据库开发·数据库架构
伞伞悦读3 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
Mikko73 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
thinking_talk3 天前
WorkBuddy应用生成背后的数据层:腾讯云PG
postgresql·腾讯云·云数据库
大漠孤烟s4 天前
4.Mybatis学习-动态sql、缓存、逆向工程
mybatis
知识的搬运工旺仔4 天前
唯一索引与 NULL 值:PostgreSQL 主键约束与 NULLS NOT DISTINCT
数据库·后端·sql·postgresql
jnrjian4 天前
EDB postgresql TDE 加密的文件
postgresql
IvorySQL4 天前
PostgreSQL 日报|逻辑解码竞态条件修复(9 月 20 日)
数据库·人工智能·postgresql