SELECT * FROM cts_user WHERE delete_flag = 0 AND nick_name LIKE ? order by 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 ‘desc’ at line 1
看看这言简意赅的错误信息,是不是一下就发现了,我order by 后面没加字段名,然而
SELECT * from cts_user
where delete_flag = 0
and telephone = #{telephone}
and status = #{status}
and open_id = #{openId}
and nick_name like #{nickName}
order by last_login_time
这是我的sql并没有什么问题,然后我给他占到mysql中执行,也是么有问题,那么,为什么会报错呢???我百思不得其解啊!
突然之间我灵光一闪
我在parameterType入参的对象中,图省事,加了两个字段
/** 排序字段*/
private String orderByName;
/** 排序-升序降序 */
private String orderBy;
用来在前台接收排序信息,但是我mysql表里没有这俩字段啊,然后我就默默的把orderBy改成了aaa
0.0结果,好使了,我在入参的对象中命名了一个mysql中关键字的属性,但是我在整个sql语句中,并没有使用它,但是这样也是不行的,具体为啥我还是不知道,但是以后我就长见识了,真是好烦