MyBatis Plus中关闭字段自动驼峰式命名转换为下划线

作者:半吊子全栈工匠2024.01.17 17:11浏览量:29

简介:在MyBatis Plus中,默认情况下,数据库字段名会被自动转换为驼峰式命名,并在yml或properties文件中使用下划线命名。如果你想关闭这个自动转换功能,可以按照以下步骤操作。

在MyBatis Plus中,可以通过配置NamingStrategy来自定义数据库字段名的命名规则。如果你想关闭默认的自动驼峰式命名转换为下划线,你需要创建一个自定义的NamingStrategy并配置它。以下是如何操作的步骤:

  1. 创建一个自定义的NamingStrategy类,继承自org.apache.ibatis.type.NamingStrategy
    1. import org.apache.ibatis.type.NamingStrategy;
    2. public class CustomNamingStrategy extends NamingStrategy {
    3. @Override
    4. public String translate(String property) {
    5. return property; // 直接返回原始字段名,不进行任何转换
    6. }
    7. }
  2. 在你的MyBatis配置文件中(例如:mybatis-config.yml或mybatis-config.properties),添加以下配置:
    1. mybatis-plus:
    2. configuration:
    3. map-underscore-to-camel-case: false # 关闭下划线转驼峰的映射
    4. type-aliases-package: # 指定别名包路径,如果需要自定义别名的话
    5. naming-strategy: com.yourpackage.CustomNamingStrategy # 指定自定义的NamingStrategy类路径
    在上述配置中,map-underscore-to-camel-case属性被设置为false,这将关闭默认的自动驼峰式命名转换为下划线的功能。然后,通过naming-strategy属性指定了自定义的CustomNamingStrategy类路径。这样,MyBatis Plus将使用你自定义的命名策略来处理数据库字段名的命名。
    请注意,你需要将com.yourpackage.CustomNamingStrategy替换为你实际自定义的NamingStrategy类的完全限定路径。
    完成以上步骤后,MyBatis Plus将不再自动将数据库字段名从下划线转换为驼峰式命名。所有的字段名将保持原始的命名方式。这有助于保持数据库和代码之间的命名一致性,特别是在处理自定义字段名时。
    请注意,关闭自动转换功能后,你需要确保在编写SQL查询时使用正确的字段名。例如,如果你的数据库字段名为user_name,在编写查询时需要使用user_name而不是userName。这样可以避免因命名不匹配而导致的问题。
    总结:通过自定义NamingStrategy类并配置MyBatis Plus的配置文件,你可以关闭默认的自动驼峰式命名转换为下划线的功能。这有助于保持数据库和代码之间的命名一致性,并简化处理自定义字段名的过程。