Thursday, June 26, 2014

Mybatis & returning auto-generated IDs with inserts

How do I return auto-generated IDs inserted in table within the same insert API?

PostgreSQL+MyBatis+Insert+Autogenerated ID

CREATE TABLE BOOK (
ID SERIAL PRIMARY KEY,
NAME VARCHAR (50) UNIQUE NOT NULL,
TITLE VARCHAR (100),
DESCRIPTION VARCHAR (200)
);
view raw book.sql hosted with ❤ by GitHub
<mapper>
<select id="add_book" parameterType="map" resultType="map">
INSERT
INTO BOOK(NAME,TITLE,DESCRIPTION)
VALUES
(#{name},#{title},#{description})
RETURNING *;
</select>
<select id="add_book" parameterType="list" resultType="map">
INSERT
INTO BOOK(NAME,TITLE,DESCRIPTION)
VALUES
<foreach collection="list" item="item" index="index" open="" separator="," close="">
(#{item.name},#{item.title},#{item.description})
</foreach>
RETURNING *;
</select>
</mapper>
view raw sqlmap.xml hosted with ❤ by GitHub

No comments:

Post a Comment

StatCounter - Free Web Tracker and Counter