这就是我想要的
<update id='stoIncrement' parameterType='java.util.Map'>
update DB set
<if test="#{is_increase} == 1">
count=(select max(count) from DB) +1
</if>
<if test="#{is_increase} == 0">
count=(select max(count) from DB) -1
</if>
where store=#{store}
</update>
Run Code Online (Sandbox Code Playgroud)
这里is_increase是参数映射的键,不是表的实体。
但以上似乎不起作用。有人可以在这方面提供帮助吗?
谢谢
假设我在我的mapper xml中执行下面的查询:
<select id="getData" parameterType="java.util.HashMap" resultType="java.util.LinkedHashMap">
select * from emp where empId=#{empId}
</select>
Run Code Online (Sandbox Code Playgroud)
在上面的xml中,empId是动态值,它返回HashMap的键中的值,该值作为Mybatis中上面的mapper xml中的参数传递.
当运行映射到方法getData的上述选择查询时,有没有办法将带有传递的参数的sql打印到控制台.
例如,我想在控制台中传递数据empId = 1:select*from emp其中empId = 1
<select id="keyEquipmentShiftAutomatedModelData" parameterType="java.util.Map" resultType="java.util.Map">
SELECT ID, SUM(VALUE1 + VALUE2) Total
FROM tableName
GROUP BY ID
</select>
Returns below result in sql
ID, Total
1 (null)
Run Code Online (Sandbox Code Playgroud)
但是当在Map中返回结果时,myBatis返回{ID = 1},其中Total缺失.如何将带有null的列添加到结果集中以及类似这样的内容{ID = 1,Total = null}或类似这样的内容{ID = 1,Total =""}