场景:
子表新增一条数据,主表某字段要+1,要获取该字段的值(例:新增一条文章评论,文章表的评论数字段要+1,并返回最新的评论数)
dao层
必须传对象,返回的结果在字段中
1
int updateCommentCount(Article info);
xml
1
2
3
4
5
6
<update id="updateCommentCount">
<selectKey resultType="SHORT" keyProperty="commentCount" order="AFTER">
select (select A.COMMENT_COUNT FROM ARTICLE A WHERE A.ID = #{id}) commentCount from DUAL
</selectKey>
update ARTICLE A set A.COMMENT_COUNT = A.COMMENT_COUNT + 1 where A.ID = #{id}
</update>
<h2><a id="_0"></a>场景:</h2>
<p>子表新增一条数据,主表某字段要+1,要获取该字段的值(例:新增一条文章评论,文章表的评论数字段要+1,并返回最新的评论数)</p>
<h2><a id="dao_3"></a>dao层</h2>
<blockquote>
<p>必须传对象,返回的结果在字段中</p>
</blockquote>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">updateCommentCount</span><span class="hljs-params">(Article info)</span></span>;
</code></div></pre>
<h2><a id="xml_9"></a>xml</h2>
<pre><div class="hljs"><code class="lang-xml"><span class="hljs-tag"><<span class="hljs-name">update</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"updateCommentCount"</span>></span>
<span class="hljs-tag"><<span class="hljs-name">selectKey</span> <span class="hljs-attr">resultType</span>=<span class="hljs-string">"SHORT"</span> <span class="hljs-attr">keyProperty</span>=<span class="hljs-string">"commentCount"</span> <span class="hljs-attr">order</span>=<span class="hljs-string">"AFTER"</span>></span>
select (select A.COMMENT_COUNT FROM ARTICLE A WHERE A.ID = #{id}) commentCount from DUAL
<span class="hljs-tag"></<span class="hljs-name">selectKey</span>></span>
update ARTICLE A set A.COMMENT_COUNT = A.COMMENT_COUNT + 1 where A.ID = #{id}
<span class="hljs-tag"></<span class="hljs-name">update</span>></span>
</code></div></pre>