在ibatis和mysql环境下使用insert如何获取返回值
Posted 阿怪123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ibatis和mysql环境下使用insert如何获取返回值相关的知识,希望对你有一定的参考价值。
- 配置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作为返回值了。
以上是关于在ibatis和mysql环境下使用insert如何获取返回值的主要内容,如果未能解决你的问题,请参考以下文章
mysql不是自动增长的主键怎么利用ibatis返回值判断是不是插入成功
ibatis使用iterate实现批量插入insert正确写法
Mybatis 和Ibatis实现插入中,我要同时插入多张表,可不可以在<insert>标签中写多小sql insert语句?