Mybatis - 仅作学习与使用记录,若违规立删

1.xml中 写 sql 时的注意事项;冯管干啥用的,注意格式就行。
注:xml中写sql时不能带注释,sql语句会被压缩成一整行,So...

<select id="searchItems" parameterType="map" resultType="com.drunk.vo.SearchItemsVO">
	SELECT
		i.id AS itemId,
		i.item_name AS itemName,
		i.sell_counts AS sellCounts,
		ii.url AS imgUrl,
		spec.price_discount AS price
	FROM
		items i
	LEFT JOIN items_img ii ON i.id = ii.item_id
	LEFT JOIN ( SELECT item_id, min( price_discount ) AS price_discount FROM items_spec GROUP BY item_id ) spec ON spec.item_id = i.id
	WHERE
		ii.is_main = 1
		<!-- 符号记得用英文 找了好久的错误 -->
		<if test=" mapParam.keyword != null and mapParam.keyword != '' ">
			<!-- 错误:and i.item_name like "%#{mapParam.keyword}%" -->
			<!-- 会查不到数据:and i.item_name like "% ${mapParam.keyword} %" -->
			and i.item_name like "%${mapParam.keyword}%"	<!-- 推荐用 '' -->
			<!-- 正常:and i.item_name like "%${ mapParam.keyword }%" -->
		</if>
	order by
	<choose>
		<!-- 这里的 '' 必须要转义 -->
		<!-- 错误:<when test=" mapParam.sort == 'c' "> -->
		<when test=" mapParam.sort == &quot;c&quot; ">
			i.sell_counts desc
		</when>
		<when test=" mapParam.sort == &quot;p&quot; ">
			spec.price_discount asc
		</when>
		<otherwise>
			i.item_name desc
		</otherwise>
	</choose>
</select>
posted @   原来人生只有十二集  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示