原创:关于使用Mybatis插件自动生成造成批量插入转换成list集合的问题以及解决方案(转载请注明出处,谢谢!)

Posted 轻尘如风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原创:关于使用Mybatis插件自动生成造成批量插入转换成list集合的问题以及解决方案(转载请注明出处,谢谢!)相关的知识,希望对你有一定的参考价值。

问题:

由于项目中需要批量插入的功能,然后我就用到了阿里的json包,将json数据转换成list集合在批量添加到数据库,但是这个过程中,我突然发现一个问题,之前接收前台传来的值是有的,但转换之后某些字段的值没有了,后面发现,原来是Mybatis自动生成插件做的怪,将实体类赋setter和getter方法时,并没有将属性大写,也就是说原本我的实体字段为gName;setter方法之后为setgName,这就违反了命名规则,但是阿里json包就出现了不能转换报Null的问题,经过试验,终于找到了解决方案:

解决方案:

     1.如果你不想用别的方法,且Pojo类字段不是很多的话,直接将所有的setter和getter方法去掉,用eclipse自动生成的setter和getter方法

     2.

            JSONArray Array1 = JSONArray.fromObject(Declaration);
            //List<CustomsDeclareBillDetail> detail = Array1.toList(Array1, CustomsDeclareBillDetail.class);

              当然,这种方法是已经废弃的,但是还可以使用,至于有什么漏洞我就不知道了

3. 

         JSONArray jsonArray = JSONArray.fromObject(json);
          List<String> list2 = (List) JSONArray.toCollection(jsonArray);

         这种方法的结果和上面是一样的,但还是极力推荐使用这种方案。

 

如果我的总结给你解决了问题,请顶一下文吧~



以上是关于原创:关于使用Mybatis插件自动生成造成批量插入转换成list集合的问题以及解决方案(转载请注明出处,谢谢!)的主要内容,如果未能解决你的问题,请参考以下文章

mybatis generator自动生成Mapper文件和Model

解决使用GsonFromat插件生成实体类后造成的一个bug

mybatis学习

关于mysql-mybatis批量添加

关于Mybatis三种批量插入方式对比

mybatis批量插入,怎么返回生成的自增主键