** ## 最近的项目在和订单系统交互时,需要存储订单信息,因为订单包含商品信息等,长度过大,对于mysql数据库,不论是text还是longtext都有字段超长的风险,好在mysql5.7之后,新增加了json类型,并与之匹配了一系列如get_json_object等取值函数,操作起来非常方便。**
** ## 无论是数据层的订单bean存放至数据库还是从数据库获取订单json类型的数据在代码中使用,都涉及到一个javaBean和mysql的json类型转换类型。**
mybatis:
** ## 在使用mybatis框架做查询时,需要自定义一个typeHandler ,实现org.apache.ibatis.type.BaseTypeHandler接口,然后再将handler注入进mybatis的配置属性中,在需要做类型转换的字段上指定要使用的typeHandler**
seq_name = #{seqName,jdbcType=VARCHAR,com.dmall.different.finance.handler.typeHandler=com.hys.person.typehandler.JSONTypeHandler}
mybatis_plus:
## mybatis_plus的实体bean与表字段映射体现得更明显,针对于javaBean与json的转换,mybatis_plus已经做了实现,只需要在需要做注解转换的地方加入以下注解即可,非常方便
/**
* mq 内容
*/
@TableField(typeHandler = FastjsonTypeHandler.class)
private OrderProductionMQ content;```