如何配置 mybatis plus 以实现字段名自动转换
要理解字段名转换问题,首先要了解 mybatis plus 的自动转换机制。 mybatis plus 旨在将 Java 类中的属性名称与数据库表中的字段名进行映射。默认情况下,mybatis plus 会将 java 驼峰命名法转换为数据库的下划线分隔的命名法。
通常,通过使用自定义 sql 映射文件,该机制可以正常工作。但是,在使用 lambdaquery(一种更高级的查询 api)时,转换可能无法正常进行。
在您的情况下,lambdaquery 似乎无法将 java 属性名 “username” 和 “age” 转换为数据库字段名。要解决此问题,您可以尝试以下方法:
检查 java 类
确保您的 java 类属性确实遵循了驼峰命名法。例如,”username” 和 “age” 是正确的,而 “username” 和 “age” 将无法自动转换。
使用 lambdaquery 的 select 方法
lambdaquery 提供了一个更显式的方式来指定要选择的列。使用以下语法:
lambdaQuery().select(User::getUserName, User::getAge);
这将强制 mybatis plus 使用正确的字段名。
请注意,自动转换仅适用于 java 类属性和数据库字段之间的映射。它不会影响代码中使用的字段名称或 sql 语句。