mysql的执行insert是不是有返回值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的执行insert是不是有返回值相关的知识,希望对你有一定的参考价值。

参考技术A 有的,返回值是sql执行后受影响的数据条数,对于insert语句就是插入数据的条数本回答被提问者采纳

在ibatis和mysql环境下使用insert如何获取返回值

  1. 配置xml文件中的sql语句,insert语句默认是有返回值的,用于标记此次插入是否成功。而如果需要其他返回值,则需要进行进一步的设置。

  以如下代码为例:

1     <insert id="insertAndGetId" parameterClass="Vnet_stack" >  
2         insert into
3         vnet_stack(stack_name)
4         values(#stack_name#)
5         <selectKey resultClass="int" keyProperty="stack_id" >
6             SELECT LAST_INSERT_ID()
7         </selectKey>
8         
9     </insert>

其中设置了返回值类型resultClass为整数类型,keyProperty设置数据源。

之后通过一条简单的嵌套查询语句可以查询到新添加的最新的行,取keyProperty设置的条目作为返回值

 

  2. 在dao层中添加函数

  

1     @Override
2     public int insertAndGetId(Vnet_stack ss) {
3         // TODO Auto-generated method stub
4         return Integer.parseInt(String.valueOf(getSqlMapClientTemplate().insert("Vnet_stack.insertAndGetId",ss)));
5         
6     }

 

  之后调用函数即可得到需要的主键id作为返回值了。

 

以上是关于mysql的执行insert是不是有返回值的主要内容,如果未能解决你的问题,请参考以下文章

mysql的执行insert是不是有返回值

mysql的执行insert是不是有返回值

mysql的执行insert是不是有返回值

mysql的执行insert是不是有返回值

mysql不是自动增长的主键怎么利用ibatis返回值判断是不是插入成功

在ibatis和mysql环境下使用insert如何获取返回值