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

wordpress 自定义内容模型推广优化网站

wordpress 自定义内容模型,推广优化网站,网站关键词优化互点,图片设计公司一.JSON处理器数据库中有的字段会以JSON格式来进行存储。类型为json类型。但是在java中我们没有这样的数据类型,一般会以字符串接收,这样就会导致如果想要从数据库中获取json格式中的key和value的话会比较麻烦,还要进行字符串操作。那么有没有…

一.JSON处理器

数据库中有的字段会以JSON格式来进行存储。类型为json类型。但是在java中我们没有这样的数据类型,一般会以字符串接收,这样就会导致如果想要从数据库中获取json格式中的key和value的话会比较麻烦,还要进行字符串操作。那么有没有简单的方法呢?当然有,MybatisPlus提供了很多特殊类型字段的类型处理器,解决特殊字段类型与数据库类型转换的问题。例如处理JSON就可以使用JacksonTypeHandler处理器。

二.定义实体

首先,我们定义一个单独实体类来与info字段的属性匹配:

代码如下:

package com.itheima.mp.domain.po;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor(staticName = "of")
public class UserInfo {private Integer age;private String intro;private String gender;
}

我们在有参构造中提供of方法,方便一会儿使用of静态方法创建实例化对象。 

三.使用类型处理器

接下来,将User类的info字段修改为UserInfo类型,并声明类型处理器:

同时,在User类上添加一个注解,声明自动映射:

package com.itheima.mp.domain.po;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.itheima.mp.enums.UserStatus;
import lombok.Data;import java.time.LocalDateTime;@Data
@TableName(value = "tb_user", autoResultMap = true)     // 开启自动映射
public class User {/*** 用户id*/@TableId(type = IdType.AUTO)private Long id;/*** 用户名*/@TableField("`username`")private String username;/*** 密码*/private String password;/*** 注册手机号*/private String phone;/*** 详细信息*/@TableField(typeHandler = JacksonTypeHandler.class)private UserInfo info;/*** 使用状态(1正常 2冻结)*/private UserStatus status;/*** 账户余额*/private Integer balance;/*** 创建时间*/private LocalDateTime createTime;/*** 更新时间*/private LocalDateTime updateTime;
}

因为User对象中又包含了UserInfo对象,因此为了保证读取和写入数据库的正确性,保证字段和属性之间的映射关系,要将自动映射autoResultMap设为true。

测试可以发现,所有数据都正确封装到UserInfo当中了:

同时,为了让页面返回的结果也以对象格式返回,我们要修改UserVO中的info字段:

package com.itheima.mp.domain.vo;import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.itheima.mp.domain.po.UserInfo;
import com.itheima.mp.enums.UserStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;import java.util.List;@Data
@ApiModel(description = "用户VO实体")
public class UserVO {@ApiModelProperty("用户id")private Long id;@ApiModelProperty("用户名")private String username;@ApiModelProperty("详细信息")@TableField(typeHandler = JacksonTypeHandler.class)private UserInfo info;@ApiModelProperty("使用状态(1正常 2冻结)")private UserStatus status;@ApiModelProperty("账户余额")private Integer balance;@ApiModelProperty("用户收货地址")private List<AddressVO> addresses;
}

此时,在页面查询结果如下:

http://www.dtcms.com/a/612943.html

相关文章:

  • 北京网站建设 奥美通全网营销wordpress 图片命名吗
  • 网站建设案例精粹 电子书王者荣耀网站建设的步骤
  • 做高端网站建设公司如何打开国外网站
  • 实业公司网站模板物联网设计与开发
  • 如何做专业的模板下载网站网站开发 工作
  • 微网站开发技术微信网站开发制作公司
  • 做网站美工收费网站建设和赚钱方法
  • 企业网站管理系统 免费个人引流推广怎么做
  • 黄冈网站seo应用软件开发属于什么行业
  • 网站如何做快排增城新闻头条今天
  • wordpress安装网站源码自己怎么建购物网站
  • 老河口网站设计外媒头条最新消息
  • 十堰微网站建设多少钱呼和浩特市网站公司电话
  • 网站目录 整理网站开发团队人员构成
  • 免费建立自己的网站网站规划与网页设计
  • 用花生棒自己做内网网站橙 建网站
  • 高端网站设计杭州电子商务公司营业执照经营范围
  • 西安建设和住房保障局网站首页旅游电子商务网站
  • 宁德建设网站仓山区建设局招标网站
  • 中山网站备案外贸网站建设 深圳
  • 北京专业建设网站公司辽宁省阜蒙县建设局网站
  • 建筑企业wordpress主题网站优化 seo
  • 网站 运营 外包 每个月多少钱建设银行集团网站
  • 网站制作好以后怎么管理零基础建设网站视频
  • 义乌兼职网站建设wordpress给导航加链接
  • 制作简易网站模板成都家装排名前十名
  • 新注册域名做网站好处网站开发部门工作职责
  • 北京网站托管的公司哪家好建设银行演示网站
  • 建设网站方面的知识广西免费网站制作
  • 建网站哪个平台好蛋糕店网站建设