将列表存入MySQL_字符串属性转变List属性存入数据库

本文介绍如何在项目中将系统IP字段从字符串转换为List类型并存储到MySQL数据库。对于JPA,使用了`@Convert`转换器,而MyBatis-Plus(MP)则使用了`ArrayTypeHandler`类型处理器。文章提到了兼容历史数据的方法,并提供了相关参考资料。
摘要由CSDN通过智能技术生成

项目中有系统IP字段,现将string转List存入数据库,每个功能块持久层实现方法不一样(分为jpa和mp)

jpa:

@Convert(converter = JpaConverterListJson.class)private ListhostIp;public class JpaConverterListJson implements AttributeConverter{

@OverridepublicString convertToDatabaseColumn(Object o) {returnJSON.toJSONString(o);

}

@OverridepublicObject convertToEntityAttribute(String s) {//兼容历史数据

if (!JSONUtil.isJson(s)) {return newJSONArray(Arrays.asList(s));

}returnJSON.parseArray(s);

}

ps:貌似@Lob也可以直接保存,没试过

mp:

@TableField(typeHandler = ArrayTypeHandler.class)private ListhostIp;

@MappedTypes(List.class)

@MappedJdbcTypes(JdbcType.VARCHAR)

public class ArrayTypeHandler extends BaseTypeHandler {

@Override

public void setNonNullParameter(PreparedStatement preparedStatement, int i,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值