From 635d8abc51877057f7214062be6aaca850bda1b3 Mon Sep 17 00:00:00 2001 From: zwt13703 Date: Sat, 14 Mar 2026 15:19:18 +0800 Subject: [PATCH] feat:updates --- .../dromara/art/handler/JsonbTypeHandler.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ruoyi-modules/ruoyi-art/src/main/java/org/dromara/art/handler/JsonbTypeHandler.java diff --git a/ruoyi-modules/ruoyi-art/src/main/java/org/dromara/art/handler/JsonbTypeHandler.java b/ruoyi-modules/ruoyi-art/src/main/java/org/dromara/art/handler/JsonbTypeHandler.java new file mode 100644 index 0000000..2fa07cc --- /dev/null +++ b/ruoyi-modules/ruoyi-art/src/main/java/org/dromara/art/handler/JsonbTypeHandler.java @@ -0,0 +1,39 @@ +package org.dromara.art.handler; + +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; +import org.postgresql.util.PGobject; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +/** + * PostgreSQL JSONB 字段的 MyBatis 类型处理器 + */ +public class JsonbTypeHandler extends BaseTypeHandler { + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException { + PGobject jsonObject = new PGobject(); + jsonObject.setType("jsonb"); + jsonObject.setValue(parameter); + ps.setObject(i, jsonObject); + } + + @Override + public String getNullableResult(ResultSet rs, String columnName) throws SQLException { + return rs.getString(columnName); + } + + @Override + public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return rs.getString(columnIndex); + } + + @Override + public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return cs.getString(columnIndex); + } +}