Hello! 欢迎来到小浪资源网!


MyBatis-Plus Lambda查询报错:SQL语法错误如何解决?


MyBatis-Plus Lambda查询报错:SQL语法错误如何解决?

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

报错信息:

java.sql.sqlsyntaxerrorexception: you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'order where (user_id in ('3'))' at line 1

原因:

这是因为在使用mybatis-plus的Lambda查询时,查询的表名没有使用反引号(`)进行转义,导致sql语句中出现了非法标识符

解决方法

在mybatis-plus中使用lambda查询时,需要使用反引号(`)对表名进行转义。修改后的代码如下:

// 使用反引号对表名进行转义 Db.lambdaQuery(Order.class).in(Order::getUser_id, id).list();

通过修改表名转义的方式,就可以避免非法标识符错误,从而正常执行sql语句

相关阅读