出现这个问题的场景

在定义数据库映射实体时有时候字段名称过长,按照java 规范应使用小驼峰命名法比如User 实体中有 userNameageid字段对应的时数据库中的user_nameageid 列。这时写一个select语句就会出现age id 有值而userName没有值,原因就是mybatis不会自动把下划线命名转换成驼峰命名,解决方法有以下几种。

  1. 直接修改java实体类字段名比如把userName改为user_name,这样做显然不太完美违背java命名规范。
  2. select语句时加上as,比如 select user_name as userName form user 这样也可以解决。但是每个语句都要加上太繁琐。
  3. 可以在配置文件mybatis-config.xml中开启下划线转驼峰转换configuration标签下加入
    <settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings>就可以开启此功能。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐