|
@@ -0,0 +1,56 @@
|
|
|
+package com.qunzhixinxi.hnqz.common.data.handler;
|
|
|
+
|
|
|
+import org.apache.ibatis.type.JdbcType;
|
|
|
+import org.apache.ibatis.type.TypeHandler;
|
|
|
+
|
|
|
+import java.sql.CallableStatement;
|
|
|
+import java.sql.PreparedStatement;
|
|
|
+import java.sql.ResultSet;
|
|
|
+import java.sql.SQLException;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * mybatis list与varchar之间转换处理类
|
|
|
+ * @author lixuesong
|
|
|
+ * @date 2021年07月15日 17:10
|
|
|
+ */
|
|
|
+public class ListToStringTypeHandler implements TypeHandler<List<String>> {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setParameter(PreparedStatement preparedStatement, int i, List<String> strings, JdbcType jdbcType) throws SQLException {
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+ for (String s : strings) {
|
|
|
+ sb.append(s).append(",");
|
|
|
+ }
|
|
|
+ preparedStatement.setString(i, sb.toString().substring(0, sb.toString().length() - 1));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<String> getResult(ResultSet resultSet, String s) throws SQLException {
|
|
|
+ if (resultSet.getString(s) == null) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ String[] arr = resultSet.getString(s).split(",");
|
|
|
+ return Arrays.asList(arr);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<String> getResult(ResultSet resultSet, int i) throws SQLException {
|
|
|
+ if (resultSet.getString(i) == null) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ String[] arr = resultSet.getString(i).split(",");
|
|
|
+ return Arrays.asList(arr);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<String> getResult(CallableStatement callableStatement, int i) throws SQLException {
|
|
|
+ if (callableStatement.getString(i) == null) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ String[] arr = callableStatement.getString(i).split(",");
|
|
|
+ return Arrays.asList(arr);
|
|
|
+ }
|
|
|
+}
|