首页 > 文章列表 > Mybatis-Plus静态查询报错:实体类表名或字段名含特殊字符怎么办?

Mybatis-Plus静态查询报错:实体类表名或字段名含特殊字符怎么办?

448 2024-12-11

Mybatis-Plus静态查询报错:实体类表名或字段名含特殊字符怎么办?

问题:mybatis-plus使用静态工具查询时出现语句错误报错

原因:

当使用 mybatis-plus 的静态查询工具时,如果实体类的表名或字段名包含特殊字符(如 -、.),需要在表名或字段名两端加上反引号 (例如:`order`),否则会产生 sql 语句错误。

解决方案:

在实体类的 @table 和 @tablefield 注解中,使用反引号将带有特殊字符的表名或字段名括起来。修改后的代码如下:

@table(name = "`order`", charset = mysqlcharsetconstant.utf8, engine = mysqlengineconstant.innodb)
public class order {
    // ...
}

修改后的测试代码:

Db.lambdaQuery(Order.class).in(Order::getUser_id,id).list();
来源:1732961021