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

国内网站建设 必须实名认证wordpress数据库重装

国内网站建设 必须实名认证,wordpress数据库重装,兴力网站建设,台州企业网站seoMybatis以及Mybatis-Plus中实体类使用Map类型时如何处理 发现问题 以前在项目中存json数据, 一般都是前端把json类型转为string类型, 然后后端直接用一个string类型的字段来存取, 这次想直接用后端直接转化不再需要前端转为string, 一直保持字段为Map, 存到数据库位varchar或…

Mybatis以及Mybatis-Plus中实体类使用Map类型时如何处理

发现问题

以前在项目中存json数据, 一般都是前端把json类型转为string类型, 然后后端直接用一个string类型的字段来存取, 这次想直接用后端直接转化不再需要前端转为string, 一直保持字段为Map, 存到数据库位varchar或者text类型

这就需要持久层能在存入和查出的数据的时候, 自动转化其类型 !

解决问题

1. Mybatis-Plus解决方式

以如下代码为例, 解决持久层自动转化问题

@Data
@TableName(value = "service_config", autoResultMap = true)
public class ServiceConfig extends BaseEntity {@ApiModelProperty("服务名称")private String name;@ApiModelProperty("HTTP检测URL")private String url;@ApiModelProperty("HTTP请求方法")private HttpType method;@ApiModelProperty("HTTP请求体")private String requestBody;@ApiModelProperty("HTTP请求头")@TableField(value = "headers", typeHandler = JacksonTypeHandler.class)private Map<String, String> headers;}
  1. 首先@TableName注解需要加autoResultMap = true参数

    autoResultMap = true 的主要作用是:自动生成并注册一个 ResultMap,用于处理带有类型处理器(如 JacksonTypeHandler)的字段。

  • 具体功能解析
    • 自动创建 ResultMap:
      当设置为 true 时,MyBatis-Plus 会为这个实体类自动生成一个 ResultMap
      这个 ResultMap 会包含所有字段的映射关系,特别是那些使用了 @TableField(typeHandler = xxx) 的字段

    • 启用类型处理器:
      对于使用 typeHandler 的字段(如你的 Map<String, Object> 字段)
      自动生成的 ResultMap 会正确配置这些字段的类型处理器
      确保查询时能正确进行类型转换

    • 解决查询时类型处理器不生效的问题:
      没有这个配置时,简单的查询可能不会应用类型处理器
      特别是当使用 selectById() 等便捷方法时

  1. 在Map字段上添加@TableField(value = "headers", typeHandler = JacksonTypeHandler.class)

    说明该字段需要进行json转化, mybatis-plus使用的是Jackson吗这也是springboot默认的json转化工具

  2. 数据库使用varchar或者text类型, 如使用varchar类型, 设置的长度要大一点, 不然还可能出现空间太小导致报错

2. Mybatis解决方式

需要在mapper.xml文件中配置

在你的Map字段的result标签加上如下配置
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler

<resultMap id="your_table_name" type="YourEntity"><id property="id" column="id" jdbcType="BIGINT"/><result property="headers" column="headers" jdbcType="VARCHAR" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
</resultMap>

注意: 因为自动转换json功能, mybatis接mybatis-plus默认使用的是jackjson, 请务必保证项目中有jackjson的依赖

依赖坐标如下, 版本根据spring版本选择合适的版本:

        <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency>
http://www.yayakq.cn/news/515924/

相关文章:

  • 东莞常平做网站公司定制摄影app和摄影网站的区别
  • 河北省两学一做网站莒县建设局官方网站
  • wordpress发邮件接收验证码乐云seo官网
  • 公司做网站买域名之后做什么企业网站免费模板
  • 渭南房产网站制作wordpress安装通知栏
  • 网站单页面怎么做上海缘魁网站建设
  • 东莞seo网站管理seo优化关键词0
  • 为什么做金融网站犯法自学网站建设教程
  • 称多县网站建设公司网络推广软件排行榜
  • 凡科网免费建站步骤及视频WordPress有哪些优秀主题
  • 网站开发培训实训河南渠道网
  • 深圳网站官网建设怎么弄视频
  • 网页设计公司网站制作WordPress不使用MySQL数据库
  • 外贸网站seo优化漳州微网站建设公司
  • 重庆网站制作哪家好WordPress电子书模板模板
  • 深圳附近做个商城网站哪家公司便宜点在线制作图片海腾娱乐
  • 小网站要备案吗网站跳出率什么意思
  • 建设购物网站课程设计做自媒体需要哪些网站
  • 网站顶部包装设计案例分析
  • 都有哪些网站杭州市建设工程检测协会网站
  • 网站做apk制作工具网站源码怎么打开
  • 渭南网站建设哪里便宜江门网站开发
  • 哪个网站可以用MC皮肤做图片网页制作遮罩
  • 国外哪些做问卷赚钱的网站给别人做网站赚钱吗
  • 全是广告的网站如何制作wordpress模板下载地址
  • 怎么在网站上添加广告代码什么是自媒体
  • 网站被黑是怎么回事百度端口开户推广
  • 深圳北站设计方案做网站所具备的的条件
  • 常宁市住房和城乡建设局网站娱乐彩票网站建设制作
  • 常熟网站建设专业的公司可以在公司局域网做网站吗