运用SSM+mysql框架,用mybatis插入一条数据获取自增主键的办法
2016-11-01 00:00
736 查看
摘要: 主键自增不用自己set,但是数据库无法将null插入
运行环境: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参数类型。
运行环境: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参数类型。
相关文章推荐
- Mybatis获取刚刚插入的一条数据的主键值(插入时主键未制定数据库支持主键自增)
- Mybatis——【亲测】mybatis使用注解方式插入数据后获取自增长的主键值
- 【JAVA - SSM】之MyBatis插入数据后获取自增主键
- java获取使用mybatis刚插入数据的主键id
- mybatis的insert元素属性详解 及 在insert插入数据获取主键id的值
- 【Mybatis】数据插入数据库时,获取自增主键
- mybatis使用注解方式插入数据后获取自增长的主键值
- mybatis 向数据库插入数据时获取其主键值(序列值)的实现小记
- mysql+mybatis插入一条数据后返回主键ID
- myBatis获取批量插入数据的主键id
- 获取SQL 下一条 将要插入数据 的 主键id 值
- MyBatis使用注解方式插入数据后获取自增长的主键值
- mybatis获取插入数据主键
- 在基于Mybatis持久层框架,使用数据库事务时,插入一条数据后,无法返回主键ID的问题研究
- mybatis的insert元素属性详解 及 在insert插入数据获取主键id的值
- 【JavaEE】之MyBatis插入数据后获取自增主键
- mybatis获取插入数据时自动生成的主键id
- mybatis框架(6)---mybatis插入数据后获取自增主键
- mysql数据库插入数据获取自增主键的三种方式(jdbc PreparedStatement方式、mybatis useGeneratedKeys方式、mybatis selectKey方式)
- 使用mybatis的insert语句插入数据的时候,获取插入数据的主键id