问题: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();