相关疑难解决方法(0)

如何使用Ibatis返回插入内容(使用RETURNING关键字)

我正在使用iBatis/Java和Postgres 8.3.当我在ibatis中插入时,我需要返回id.
我使用下表来描述我的问题:通过运行create语句自动生成
CREATE TABLE sometable ( id serial NOT NULL, somefield VARCHAR(10) );
Sequence sometable_id_seq.

目前我使用以下sql map:

<insert id="insertValue" parameterClass="string" >
 INSERT INTO sometable ( somefield ) VALUES ( #value# );
 <selectKey keyProperty="id" resultClass="int">
  SELECT last_value AS id FROM sometable_id_seq
 </selectKey>
</insert>
Run Code Online (Sandbox Code Playgroud)

看来这是检索新插入的id的ibatis方式.Ibatis首先运行INSERT语句,然后它询问序列的最后一个id.
我怀疑这将适用于许多并发插入.(在这个问题中讨论过)

我想在ibatis中使用以下语句:
INSERT INTO sometable ( somefield ) VALUES ( #value# ) RETURNING id;

但是当我尝试在<insert>sqlMap中使用它时,ibatis不会返回id.它似乎需要<selectKey>标签.

所以这里有一个问题:

我如何在ibatis上使用上述声明?

java postgresql ibatis

14
推荐指数
2
解决办法
4万
查看次数

MyBatis:如何在Postgres下返回插入对象的ID?

我有一个postgres表,其中ID定义为bigserial。如何使用@Insert和获取插入实体的ID?我期望mapper方法返回ID或填充实体对象内的ID字段。有任何想法吗?

annotations ibatis mybatis

5
推荐指数
1
解决办法
9244
查看次数

如何使用MyBatis在Oracle中获取最后一个插入ID?

我正在将一些数据插入Oracle表中,需要检索id插入的行.所述id由序列生成,然后通过触发器插入到表中.

现在,我知道有几种方法可以在使用时获取插入行的id JDBC,但由于我正在使用MyBatis执行INSERT命令,我似乎无法弄清楚如何在插入数据后获取id.任何建议将不胜感激.

java oracle mybatis

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

ibatis ×2

java ×2

mybatis ×2

annotations ×1

oracle ×1

postgresql ×1