我是Mybatis的新手,尝试用弹簧支持实现Mybatis。
我必须在表中插入一条记录,但是Ibatis有像hibernate一样的序列生成器吗?
如果不必手动执行,如sequence.nextVal?我不喜欢。
任何建议都将受到赞赏。
由于
答案 0 :(得分:0)
如果你自己宣布了地图制作者,你必须这样做:
<insert id="insert" parameterType="com.your.app.Product">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO product (name, value)
VALUES (#{name,jdbcType=VARCHAR}, #{value,jdbcType=DOUBLE})
</insert>
但是,如果您正在使用MyBatis生成器,则可以使用表标记内的generatedKey
标记来执行此操作,并且它将生成您需要的映射器。
示例:
<table tableName="product" alias="product">
<generatedKey column="id" sqlStatement="MySql" identity="true" />
</table>