mybaits 踩坑 $ # 导致 统计自动聚合--失之毫厘谬以千里

16 阅读1分钟

文章目录


前言

首先应该知道在mybatis的xml中的sql语句[拼接],其中 使用较多的有 {} 和 #{},这两种取参方式,那么具体有啥区别呢? #{} 这种是预编译写法,可以防止sql注入 {} 是一重占位符的写法,换句话说,这样取参数不会被 mybatis 翻译,原样输出
记住他们的区别


一、遇到了一个 统计的坑?

效果如下
在这里插入图片描述
执行的sql

SELECT IFNULL(SUM(sell_count),0) sellCount,IFNULL(SUM(cost_price),0) costPrice,IFNULL(SUM(sell_totale_price),0) sellTotalePrice,
 IFNULL((SELECT goods_name FROM `store_goods` WHERE id = goods_id),'') NAME,goods_id
 FROM `store_goods_sell` WHERE dept_id = 103 GROUP BY goods_id

可以看到,结果是两条,因为我用 goods_id分组了
这是我的 xml

本文转自 jimolvxing.blog.csdn.net/article/det…,如有侵权,请联系删除。