运行环境:springMVC+mybatis+mysql
用MySQL自增主键后插入数据库时,会有id无法插入问题,此时就要在生成的配置文件中修改insert语句了,本人发现了两个方法。
注意:两个方法基于建表是的主键是自动增长的(auto increment)
1.修改自动生成的insert语句,不要插入id这个字段,直接插入后面字段,伪代码如下:
- <insert id="dao方法名" parameterType="实体类名" useGeneratedKeys="true" keyProperty="id" >
- insert into 表名(name,..字段名) values(#{name},...)
- </insert>
2.先用查询语句查出id,再用insert语句插入:
<selectKey keyProperty="id" resultType="int">
select LAST_INSERT_ID()
</selectKey>
注释:此处keyProperty="id"中的id即为你需要自增id的id字段名,resultType="int"为id参数类型。