您的位置:首页 > 其它

Mybatis学习记录(六)--开发中的小问题

2016-04-22 20:26 393 查看
最近开始做项目,期间遇到一些小问题,开此贴记录一下

1.关于order by

今天写一个sql查询语句,用了order by但是一直没效果,后来才发现用了#{}取值,mybatis使用这个的话对于String类型会自动加上引号,导致sql无效,正确做法用$代替#

SELECT * FROM cum_user
<where>
<if test="search != null">
(username LIKE #{search} ) or (nickname LIKE #{search}) OR (stunum LIKE #{search})
</if>
</where>
<if test="ordername != null">
--             对于排序使用${}符号
ORDER BY ${ordername} ${order}
</if>


2.关于三张表查询去重问题

一张主表problem,关联着catelog和cum_user两张表的主键,下面是正确的查询方法,不然会出现很多重复结果

SELECT problem.id,pro_name,cate_id,catelog.cate_name,pro_pass,pro_sub,problem.credits,start_time,user_id,cum_user.username
FROM problem
LEFT JOIN cum_user on problem.user_id = cum_user.id
LEFT JOIN catelog on problem.cate_id = catelog.id
WHERE (problem.pro_name LIKE '%1%' ) or (problem.id LIKE '%1%' ) OR (catelog.cate_name LIKE '%1%')
;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: