mybatis中默认传入字符串空""或null是不对该字段修改的.这种情况明显不能完全处理我们现实当中的需求
网上找了很多资料
无非就是自己重写xml,
#{值 , jdbcType=VARCHAR}
我有点部死心, 作者应该不会弄这么大以窟窿 ,我上百个表 都重写xml 那不会累死?
果断看源码
/**
* <p>
* 褰撹Field涓虹被瀵硅薄鏃�, 鍙娇鐢�#{瀵硅薄.灞炴�鏉ユ槧灏勫埌鏁版嵁琛�.
* </p>
* <p>
* 鏀寔锛欯TableField(el = "role, jdbcType=BIGINT)<br>
* 鏀寔锛欯TableField(el = "role, typeHandler=com.baomidou.xx.typehandler.PhoneTypeHandler")
* </p>
*/
String el() default "";
仔细看注释 跟xml中就一样呀
没毛病 赶紧试试 果然可以插入空值
值得注意的是这里可能有缓存,我重启了好几次才生效
@TableField(validate=FieldStrategy.IGNORED,value="pd_code",el = "pdCode, jdbcType=VARCHAR")
private String pdCode;
可以参考官方文档 及源码说明