mybatisplus 分页查询 OrderItem 从驼峰转为下划线
时间: 2025-08-08 08:25:02 浏览: 8
### MyBatisPlus 分页查询中的驼峰命名转换为下划线命名策略
在 MyBatisPlus 中,可以通过全局配置实现实体类字段名的驼峰命名自动转换为数据库表字段的下划线命名。这种映射关系可以减少手动处理 SQL 字段名称的工作量。
#### 全局配置方式
为了使 `OrderItem` 这样的驼峰命名能够正确映射到数据库中的下划线命名(如 `order_item`),可以在 Spring Boot 应用程序中通过配置文件或 Java 配置类完成设置:
1. **application.yml 或 application.properties 文件配置**
可以直接在配置文件中启用全局的驼峰命名规则:
```yaml
mybatis-plus:
global-config:
db-config:
column-underline: true # 开启下划线命名转换
```
2. **Java 配置类的方式**
如果更倾向于使用 Java 配置,则可以在配置类中显式指定该选项:
```java
@Configuration
public class MybatisPlusConfig {
/**
* 配置分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
/**
* 自定义全局配置
*/
@Bean
public MybatisPlusGlobalConfiguration globalConfiguration() {
MybatisPlusGlobalConfiguration conf = new MybatisPlusGlobalConfiguration();
conf.getDbConfig().setColumnUnderline(true); // 设置开启下划线命名转换
return conf;
}
/**
* 下划线转驼峰
*/
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return (configuration) -> {
configuration.setMapUnderscoreToCamelCase(true);
};
}
}
```
上述代码片段展示了如何通过配置类的形式开启下划线命名转换功能[^3]。当设置了 `column-underline=true` 后,MyBatisPlus 将会把实体类中的属性名按照驼峰形式解析成对应数据库表中的下划线列名。
#### 示例代码展示
假设有一个名为 `OrderItem` 的实体类以及其对应的数据库表结构如下所示:
##### 数据库表设计 (`t_order_item`)
| 列名 | 类型 |
|---------------|---------|
| order_id | INT |
| item_name | VARCHAR |
##### 对应的实体类 (`OrderItem.java`)
```java
@Data
public class OrderItem {
private Long orderId; // 映射至 t_order_item.order_id
private String itemName; // 映射至 t_order_item.item_name
}
```
执行分页查询时,无需额外关注字段之间的映射逻辑,因为已经由 MyBatisPlus 完成了自动化处理[^1]。
#### 特殊情况说明
如果某些字段不遵循默认的驼峰命名约定,也可以单独为其添加注解 `@TableField(value="实际列名")` 来覆盖默认行为。例如:
```java
@TableField(value = "custom_column")
private String customField;
```
此外,在复杂查询条件下,还可以借助 Wrapper 构建动态条件,并结合分页插件一起使用[^2]。
---
阅读全文
相关推荐



















