1、BaseTypeHandler 不生效
@MappedTypes(value = { String[].class })
@MappedJdbcTypes(value = JdbcType.VARCHAR)
public class JsonStringArrayTypeHandler extends BaseTypeHandler<String[]> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, String[] parameter, JdbcType jdbcType)
throws SQLException {
ps.setString(i, ArrayUtil.join(parameter, StrUtil.COMMA));
}
@Override
@SneakyThrows
public String[] getNullableResult(ResultSet rs, String columnName) {
String reString = rs.getString(columnName);
return Convert.toStrArray(reString);
}
@Override
@SneakyThrows
public String[] getNullableResult(ResultSet rs, int columnIndex) {
String reString = rs.getString(columnIndex);
return Convert.toStrArray(reString);
}
@Override
@SneakyThrows
public String[] getNullableResult(CallableStatement cs, int columnIndex) {
String reString = cs.getString(columnIndex);
return Convert.toStrArray(reString);
}
}
实体类使用private String[] abc
Incorrect date value: '\xAC\xED\x00\x05sr\x00\x0Djava.time.Ser\x95]\x84\xBA\x1B"H\
那么直接在
@ApiModelProperty(value = “MP完成页面路径(多个逗号隔开)”)
@TableField(value = “mp_finish_url”, typeHandler = JsonStringArrayTypeHandler.class, jdbcType = JdbcType.VARCHAR)
private String[] mpFinishUrl;
typeHandler = JsonStringArrayTypeHandler.class注入
2、MybatisPlusMetaObjectHandler不生效
@MappedTypes(value = { Long[].class })
@MappedJdbcTypes(value = JdbcType.VARCHAR)
public class JsonLongArrayTypeHandler extends BaseTypeHandler<Long[]> {
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
{
String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
String mapperLocations = env.getProperty("mybatis.mapperLocations");
String configLocation = env.getProperty("mybatis.configLocation");
typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
VFS.addImplClass(SpringBootVFS.class);
// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
MybatisSqlSessionFactoryBean sessionFactory=new MybatisSqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
//全局配置
GlobalConfig globalConfig = new GlobalConfig();
//配置填充器
globalConfig.setMetaObjectHandler(new MybatisPlusMetaObjectHandler());
sessionFactory.setGlobalConfig(globalConfig);
return sessionFactory.getObject();
}
}
其中的配置填充器有没有配置
3、 数据格式
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
本文探讨了MyBatis Plus中BaseTypeHandler不生效的问题,包括如何自定义类型处理器来处理特定的数据类型转换,以及MybatisPlusMetaObjectHandler配置无效的情况,并讨论了日期格式的注解使用。
3586

被折叠的 条评论
为什么被折叠?



