mybatis+springmvc 搭建的系统——数据库带下划线的字段无法取到值

版权声明:欢迎转载,注明出处即可,谢谢! https://blog.csdn.net/qq_17231297/article/details/80618172

背景:今天做公众号对接,获取微信公众号信息时候,建了一张用来存放公众号信息的表(表字段基本都是沿用了微信公众号信息的字段)建立的表结构如下


代码中正常的实现,获取一个list(公众号信息),检查了半天(sql语句写法、xml文件实体bean和数据库字段的映射,都是利用逆向工程生成),没发现问题,奇怪啊.........


奇怪现象:

观察下,数据库带下划线的字段,程序中都拿不到值,怀疑就是映射问题,朝着这个方向找问题

后来百度找资料说,在mybatis的配置文件加

发现,我使用的mybatis注解形式的sql写法,没有xml文件

例如:

@ResultMap("BaseResultMap")
    @Select("select DISTINCT * from enterprise_bind_wx_info where auth_app_id=#{authAppid}")
    List<EnterpriseBindWxInfo> findByAuthAppIdInfo(@Param("authAppid")String authAppid);
}

这样就和xml文件没啥关系了,上面的映射没啥卵用了

所以当使用@Select注解的时候,这个映射关系(也就是数据库中带下环线的字段和javabean中驼峰原则的字段是映射不起来的,我的javabean之所以是驼峰原则的属性,因为是利用逆向工程生成的),所以导致出现了这个问题。

怎么办呢?把bean中的属性改成带下环线,字段太多,工程大,麻烦。于是找资料,发现mybatis有个属性配置

mapUnderscoreToCamelCase
这个属性就是来解决数据库字段(下划线字段)到javabean中属性驼峰原则命名的转换,过来自己就转换了,和bean中的属性可以对应起来。于是在mybatis增加属性配置


再次测试


                                                                                   更多精彩请扫码关注微信公众号

                                                                                           名称:java版web项目  

                                                                                            id :java_project

猜你喜欢

转载自blog.csdn.net/qq_17231297/article/details/80618172