<i id='vMLay'><tr id='vMLay'><dt id='vMLay'><q id='vMLay'><span id='vMLay'><b id='vMLay'><form id='vMLay'><ins id='vMLay'></ins><ul id='vMLay'></ul><sub id='vMLay'></sub></form><legend id='vMLay'></legend><bdo id='vMLay'><pre id='vMLay'><center id='vMLay'></center></pre></bdo></b><th id='vMLay'></th></span></q></dt></tr></i><div id='vMLay'><tfoot id='vMLay'></tfoot><dl id='vMLay'><fieldset id='vMLay'></fieldset></dl></div>
<tfoot id='vMLay'></tfoot>
<legend id='vMLay'><style id='vMLay'><dir id='vMLay'><q id='vMLay'></q></dir></style></legend>

    • <bdo id='vMLay'></bdo><ul id='vMLay'></ul>
  • <small id='vMLay'></small><noframes id='vMLay'>

        Mybatis Plus查询时sql字段名大小写报错的解决

        时间:2023-12-07
          <bdo id='di8Cq'></bdo><ul id='di8Cq'></ul>

            <tbody id='di8Cq'></tbody>

          <legend id='di8Cq'><style id='di8Cq'><dir id='di8Cq'><q id='di8Cq'></q></dir></style></legend>

            <small id='di8Cq'></small><noframes id='di8Cq'>

              <i id='di8Cq'><tr id='di8Cq'><dt id='di8Cq'><q id='di8Cq'><span id='di8Cq'><b id='di8Cq'><form id='di8Cq'><ins id='di8Cq'></ins><ul id='di8Cq'></ul><sub id='di8Cq'></sub></form><legend id='di8Cq'></legend><bdo id='di8Cq'><pre id='di8Cq'><center id='di8Cq'></center></pre></bdo></b><th id='di8Cq'></th></span></q></dt></tr></i><div id='di8Cq'><tfoot id='di8Cq'></tfoot><dl id='di8Cq'><fieldset id='di8Cq'></fieldset></dl></div>

                <tfoot id='di8Cq'></tfoot>

                • 针对"Mybatis Plus查询时sql字段名大小写报错的解决"这个问题,我提供以下完整攻略:

                  1. 问题描述

                  在使用MyBatis Plus进行查询时,如果实体类的属性与数据库表字段的大小写不一致,会导致查询失败,抛出Invalid bound statement (not found)的异常信息。

                  2. 原因分析

                  MyBatis Plus是通过反射获取实体类中的属性来构建SQL语句的,如果实体类中的属性与对应的数据库表字段大小写不一致,MyBatis Plus无法正确地获取与数据库对应的表字段名而导致查询失败。

                  3. 解决方案

                  MyBatis Plus提供了两种解决方案:

                  方案一: @TableField注解

                  在实体类对应的属性上使用@TableField注解,指定属性与表字段的对应关系。

                  示例代码如下:

                  @Data
                  public class User {
                      @TableId
                      private Long id;
                      @TableField(value = "`name`")
                      private String userName;
                  }
                  

                  其中@TableField的value属性指定了实体类中userName属性与数据库表中name字段的对应关系,通过反引号(``)将name字段括起来,是为了防止name是SQL关键字而影响SQL执行。

                  方案二: globalConfig配置

                  在globalConfig中配置dbColumnUnderline让MyBatis Plus开启字段自动下划线转驼峰功能。

                  示例代码如下:

                  GlobalConfig globalConfig = new GlobalConfig()
                          .setDbColumnUnderline(true)
                          .setTablePrefix("tb_")
                          .setIdType(IdType.AUTO);
                  

                  开启dbColumnUnderline后,MyBatis Plus会自动将驼峰式命名的属性名转换成下划线分隔的字段名。

                  4. 总结

                  无论采用哪种方法,都可以解决MyBatis Plus查询时sql字段名大小写报错的问题。根据不同的业务场景选择使用不同的解决方案。

                  上一篇:说说字符串转 OffSetDateTime 你真的会用吗 下一篇:Oracle数据库事务的开启与结束详解

                  相关文章

                    <bdo id='kkCP5'></bdo><ul id='kkCP5'></ul>
                    <legend id='kkCP5'><style id='kkCP5'><dir id='kkCP5'><q id='kkCP5'></q></dir></style></legend>
                    <tfoot id='kkCP5'></tfoot>
                  1. <i id='kkCP5'><tr id='kkCP5'><dt id='kkCP5'><q id='kkCP5'><span id='kkCP5'><b id='kkCP5'><form id='kkCP5'><ins id='kkCP5'></ins><ul id='kkCP5'></ul><sub id='kkCP5'></sub></form><legend id='kkCP5'></legend><bdo id='kkCP5'><pre id='kkCP5'><center id='kkCP5'></center></pre></bdo></b><th id='kkCP5'></th></span></q></dt></tr></i><div id='kkCP5'><tfoot id='kkCP5'></tfoot><dl id='kkCP5'><fieldset id='kkCP5'></fieldset></dl></div>

                    1. <small id='kkCP5'></small><noframes id='kkCP5'>