<update id="updaeBooks" parameterClass="java.util.List">
<![CDATA[ INSERT INTO book(authorId, bookName,price,shelve) VALUES]]>
<iterate conjunction =",">
<![CDATA[
(#books[].authorId#,#books[].bookName#,#books[].price#,#books[].shelve#)
]]>
</iterate>
<![CDATA[ ON DUPLICATE KEY UPDATE price=values(price),shelve=values(shelve) ]]>
</update>
@Override
public void updateBooks(List<Book> books) throws Exception {
getSqlMapClient().update("updateBooks", books);
}