From 59838e1f5b387f64f6c2c098ad544131bcc003ea Mon Sep 17 00:00:00 2001 From: KilLze Date: Mon, 29 Dec 2025 15:16:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AEbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bao/dating/handler/ListToVarcharTypeHandler.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/bao/dating/handler/ListToVarcharTypeHandler.java b/src/main/java/com/bao/dating/handler/ListToVarcharTypeHandler.java index ca30e97..5d0c8eb 100644 --- a/src/main/java/com/bao/dating/handler/ListToVarcharTypeHandler.java +++ b/src/main/java/com/bao/dating/handler/ListToVarcharTypeHandler.java @@ -6,10 +6,7 @@ import org.apache.ibatis.type.MappedJdbcTypes; import org.apache.ibatis.type.MappedTypes; import org.apache.ibatis.type.TypeHandler; -import java.sql.CallableStatement; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; +import java.sql.*; import java.util.Arrays; import java.util.List; @@ -22,6 +19,11 @@ import java.util.List; public class ListToVarcharTypeHandler implements TypeHandler> { @Override public void setParameter(PreparedStatement preparedStatement, int i, List strings, JdbcType jdbcType) throws SQLException { + // 允许 null + if (strings == null || strings.isEmpty()) { + preparedStatement.setNull(i, Types.VARCHAR); + return; + } // 遍历List类型的入参,拼装为String类型,使用Statement对象插入数据库 StringBuffer sb = new StringBuffer(); for (int j = 0; j < strings.size(); j++) {