zoukankan      html  css  js  c++  java
  • SpringBoot中mybatis配置自动转换驼峰标识没有生效

    mybatis提供了一个配置:

    #开启驼峰命名转换
    mybatis.configuration.map-underscore-to-camel-case=true

    使用该配置可以让mybatis自动将SQL中查出来的带下划线的字段,转换为驼峰标志,再去匹配类中的属性。

    即:

    @Select("select phone_num,card_num from xxx where id=#{id}")
    
    public User getUserInfo(String id);

    查出来的结果,会被自动转换成phonenumcardnum,再和结果类(这里就是User )中的属性进行匹配。

    更多和自动转换驼峰标志相关的详细源码分析可以参考:传送门

    ————————————————————分割线—————————————————

    下面我们说说我这次碰到的奇怪问题:

    在我的项目中,明明在application.properties中将这个属性设为了true,结果运行到上文截图57行代码时始终为false,导致后边无法找到匹配的属性。

    经过一番DEBUG分析,发现项目为了做多数据源,将生成

    org.apache.ibatis.session.SqlSessionFactory

    的配置抽出到使用@Configuration修饰的配置类中。

    application.properties配置文件中关于驼峰转换的配置内容没有放进去。这些错误的代码我就不在这贴了,直接上改善后的代码:

    经过调整之后变成了以下形式:

    将application.properties  mybatis的congfig加载到类中,再注入到SqlSessionFactoryBean中,问题解决。

  • 相关阅读:
    一步步实现ABAP后台导入EXCEL到数据库【1】
    CSS边框及常用样式
    CSS优先级
    CSS选择器
    label和fieldset标签
    img、列表和table标签
    a标签--超链接
    select标签和多行文本标签
    input标签
    body内常用标签
  • 原文地址:https://www.cnblogs.com/flying607/p/8473075.html
Copyright © 2011-2022 走看看