TypeHandler出现问题
环境描述
springboot + mybatis
配置文件
#默认使用配置
spring:
profiles:
active: pro
#公共配置与profiles选择无关
mybatis:
typeAliasesPackage: com.example
mapperLocations: classpath:mapper/*.xml
---
#开发配置
spring:
profiles: dev
datasource:
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
---
#开发配置
spring:
profiles: pro
datasource:
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
MyTypeHandler
package com.example.common;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class MyTypeHandler extends BaseTypeHandler<List<Integer>> {
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, List<Integer> params, JdbcType jdbcType) throws SQLException {
//java到jdbc
preparedStatement.setString(i,String.join(",", params.toString()));
}
@Override
public List<Integer> getNullableResult(ResultSet resultSet, String s) throws SQLException {
String checkbox = resultSet.getString(s);
return getIntegers(checkbox);
}
@Override
public List<Integer> getNullableResult(ResultSet resultSet, int i) throws SQLException {
String checkbox = resultSet.getString(i);
return getIntegers(checkbox);
}
@Override
public List<Integer> getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
String checkbox = callableStatement.getString(i);
return getIntegers(checkbox)