当前位置: 首页 > news >正文

常州网站建设最易电子书资源wordpress主题

常州网站建设最易,电子书资源wordpress主题,广告公司网站首页设计页面,电商培训心得个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

个人主页:金鳞踏雨

个人简介:大家好,我是金鳞,一个初出茅庐的Java小白

目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作

我的博客:这里是CSDN,是我学习技术,总结知识的地方。希望和各位大佬交流,共同进步 ~

背景

在项目中使用了Mybatis-Plus框架,调用了Mapper层的 insert() ,如下所示,DingRobotMsg对象 的属性包含了其它的对象(Text、Content),数据库表字段里有与之对应的字段,类型为json

@Service
public class DingRobotMsgServiceImpl extends ServiceImpl<DingRobotMsgMapper, DingRobotMsg> implements IDingRobotMsgService {@Autowiredprivate DingRobotMsgMapper dingRobotMsgMapper;@Overridepublic void insertRobotMsg(DingRobotMsg dingRobotMsg) {// 新增dingRobotMsg.setState("1");if (dingRobotMsg.getMsgtype().equals("text") || dingRobotMsg.getMsgtype().equals("file")) {dingRobotMsgMapper.insert(dingRobotMsg);} else {// TODO: 类型错误!}}
}
@Data
@TableName("t_dingtalk_recemsg")
public class DingRobotMsg {@TableId(value = "id", type = IdType.AUTO)private Long id;@TableField(value = "msgtype")private String msgtype;private Content content;private Text text;// ...
}

这种情况,我们如何在不增加业务逻辑(数据处理)的情况下实现数据库的插入操作呢?

JsonTypeHandler

有的对象字段需要存储为Json,可以直接转成Json赋值后再保存。也可以通过Mybatis的TypeHandler自动处理。

通用 JsonTypeHandler 工具类

/*** 对象字段转存为Json类型* @param <T>*/
@MappedTypes({Text.class, Content.class})
public class JsonTypeHandler<T> extends BaseTypeHandler<T> {private final Class<T> type;public JsonTypeHandler(Class<T> type) {if (type == null) {throw new IllegalArgumentException("Type argument cannot be null");}this.type = type;}@Overridepublic void setNonNullParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType) throws SQLException {// 将对象转换为JSON字符串并设置到PreparedStatement中ps.setString(i, JSON.toJSONString(parameter));}@Overridepublic T getNullableResult(ResultSet rs, String columnName) throws SQLException {// 从ResultSet中获取JSON字符串并转换为指定类型的对象String jsonString = rs.getString(columnName);return JSON.parseObject(jsonString, type);}@Overridepublic T getNullableResult(ResultSet rs, int columnIndex) throws SQLException {// 从ResultSet中获取JSON字符串并转换为指定类型的对象String jsonString = rs.getString(columnIndex);return JSON.parseObject(jsonString, type);}@Overridepublic T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {// 从CallableStatement中获取JSON字符串并转换为指定类型的对象String jsonString = cs.getString(columnIndex);return JSON.parseObject(jsonString, type);}
}

JsonTypeHandler 的使用

在entry对象的字段上面加上下面的注解即可!

@TableField(typeHandler = JsonTypeHandler.class)
private Content content;@TableField(typeHandler = JsonTypeHandler.class)
private Text text;

文章到这里就结束了,如果有什么疑问的地方,可以在评论区指出~

希望能和大佬们一起努力,诸君顶峰相见

再次感谢各位小伙伴儿们的支持!!!

http://www.yayakq.cn/news/946384/

相关文章:

  • 建站代理加盟php网站开发什么
  • 长沙旅游网站制作app开发制作
  • 除了网页外 网站还需要wordpress html 代码编辑器
  • 常州溧阳建设工程管理中心网站h5网站建设模板
  • 信阳做网站买了个域名 如何自己做网站
  • 青海企业网站开发定制绍兴外贸网站建设
  • 宁波应用多的建站行业合肥网站建设卫来科技
  • 简单的网站设计图大连制作网站企业
  • 烟台房地产网站建设建设银行网站表单清理
  • 免费网站安全软件下载百度快速排名技术培训
  • c net做的网站开发公众号
  • h5软件制作工具app苏州seo营销
  • 中文域名到期对网站的影响河北省邢台市建设工程网站
  • c qq 互联网站开发代码凌云县 城市建设 网站
  • 营销型网站规划步骤摄影网站建设开题报告
  • 网站后台上传图片 不可用国家信用企业信息系统
  • 青海省建设局网站wordpress for android
  • 广州市建设注册中心网站免费建立自己的网站
  • 长沙 网站开发中国建设银行企业网站
  • 韩城搜索引擎建设网站html技术的简介
  • 江苏大都建设工程有限公司网站厦门市建设管理协会网站首页
  • 建一个素材网站多少钱wordpress主题开发层级
  • 网站色彩搭配案例景县做网站
  • 红酒网站源码青岛自助建站软件
  • 淘宝客网站怎么做推广wordpress指定文章
  • 私人建设手机网站施工企业效能
  • 推广网站哪家做的好抖音粉丝购买网站
  • 在那个网站做付汇的延期说明商标设计网站哪个好
  • 网站内部推广网站建设搜索优化app推广新闻营销
  • 好看的网站模板全国最缺工100个职业排行榜