easyCode的type mapper列类型属性类型映射问题

首先,对于easyCode的安装和使用的小例子,这个文章写的很不错:https://mp.weixin.qq.com/s/x4uqNXunpwNeRJuwRyOvxw,我就不一一赘述了。

这个教程中@mapper和@mapperscan二取一就好;springboot2.x中,只要加入devtools的jar包,默认就是optional为true;默认自带的Hikari性能也不错,如果不是项目强制要求,建议就用hikariCP。

然后我发现有一些人反馈说对于mysql中的类型bit(1),没有被映射为Boolean,好像配置了也不行,这里经过我测试之后,给出下面两种解决方案:

第一种方法:

直接在easyCode提供的修改窗体中修改:

easyCode的type mapper列类型属性类型映射问题由于这种方式需要每次对每个表格都修改一次,所以显得很麻烦。

这里介绍第二中方法:

使用正则表达式进行匹配:由于我这里已经设置好了很多正则匹配方式,比如mysql的bit(1)设置为java的Boolean,接下来我展示如何把bit(x),x是整数,匹配到Byte[]: 

easyCode的type mapper列类型属性类型映射问题

这里特别注意三点:

1:匹配的时候要使用正则表达式进行匹配

2:Type Mapper的列表顺序有规定:细规则匹配在粗规则匹配的前面,否则就匹配不到,如上面动图中,bit(\(1\))? 来匹配bit(1)设置为Boolean,而bit(\(\d+\))?则用来匹配bit(1),bit(2),bit(3,bit(4).....设置为Byte[],这里如果把bit(\(1\))?放在bit(\(\d+\))?后面,则永远是以bit(\(\d+\))?来匹配bit(1),则bit(1)也被匹配成Byt[]了,则不符合我们的预期。

3.对于unsigned zerofill等字段,在写正则匹配的时候也要加入,否则匹配不上

easyCode的type mapper列类型属性类型映射问题 

 综上所述,如果对于一些用的比较少的子段,直接在config table中修改即可,对于经常使用的字段,就在Type Mapper中修改。