当前使用版本(必填,否则不予处理)

3.5.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

数据库字段为数据库保留字符的时候 生成的sql没有带`导致查询失败

重现步骤(如果有就写完整)

新建字段 order

新建实体类
@TableField("order") String order;

如果不加 @TableField("order") 会导致报错

报错信息

The error may exist in com/ti/mybits/mapper/MapperTiOrder.java (best guess)

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: SELECT id,order,addtime,num,type,pay,lpay,tday,user,xh,uid FROM tb_order WHERE (uid = ?) ORDER BY id DESC

Cause: 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,addtime,num,type,pay,lpay,tday,user,xh,uid FROM tb_order

' at line 1 ; bad SQL grammar []; nested exception is 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,addtime,num,type,pay,lpay,tday,user,xh,uid FROM tb_order

Comment From: VampireAchao

可按照官方文档: https://baomidou.com/pages/223848/#tablefield 其中提到的注解 在字段属性加上

@TableField("`order`")

处理 mybatisplus对mysql默认没做关键字处理 原因推测有: 1.mp兼容的数据库太多,关键字各不相同,频繁更新维护麻烦 2.有些时候需要在字段处写一些函数进行查询处理,甚至是子查询等,若对关键字做处理,则可能导致函数不可用

望谅解