orcale数据库类型为clob,废话少说,先上答案,再说明本人实操案例遇到的问题。
答案:
@ApiModelProperty(value = "返回结果")
@TableField(value = "JSON_RESULT", typeHandler = OracleClobTypeHandler.class, jdbcType = JdbcType.CLOB)
private String jsonResult;
本来java确实有个类型是Clob,但是用上了mybatisplus的this.selectPage()方法查出来却是null,这里为什么类型对上了查出来却是null,本人也没搞清楚,大家有兴趣可以去深究,网上搜了一转也没有相关解释。所以java只能设置字段映射为String类型,但是需要转化,于是有了如上代码。typeHandler是个类型转换器,OracleClobTypeHandler是对应的处理器类,这个是需要手写的,网上一搜一大把的,主要就是查询时将数据库的clob类型转化为java的oracle.CLOB类型,然后转化为字符串,保存时将字符串转化为数据库clob类型;jdbcType类型是规定数据库里字段类型的,让typeHandler知道如何转化。
如果没有typeHandler这个注解,那就意味着需要手写一个动态sql语句了,之前的逻辑几乎要重写,可想而知,这个注解带来了多少代码简化已及对代码整体性逻辑性更严谨意义的贡献~