关于sql语句的返回值问题

以前写sql语句的时候,在用到插入和修改时从来没有返回过东西,今天才知道原来插入和修改方法是有返回值的。

查询就不用说了,肯定是返回你要查询的数据,那么增删改的方法执行之后有没有返回值呢?

有的。

insert,返回值是什么呢?一般情况下,会返回变动的行数。你插入了几行就返回几。

<insert id="insert" parameterType="User">
insert into user(userName,password,comment) 
  values(#{userName},#{password},#{comment}) 
</insert> 

 通过使用keyProperty属性可以返回主键

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId">
insert into user(userName,password,comment) 
  values(#{userName},#{password},#{comment}) 
</insert>

 

update/delete,返回值是:更新或删除的行数;无需指明resultClass;但如果有约束异常而删除失败,只能去捕捉异常。

update和delete默认返回被操作的记录条数,可以修改为返回操作的主键id,类似insert操作useGeneratedKeys=”true” keyProperty=”userId”

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId">
insert into user(userName,password,comment) 
  values(#{userName},#{password},#{comment}) 
</insert> 
    原文作者:ftl111
    原文地址: https://blog.csdn.net/ftl111/article/details/81750613
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞