MySql获取插入记录自增主键ID值
2017-04-11 16:29
645 查看
现在这种场景偏多,获取的方式也很多。像MyBatis和Hibernate都有方式去获取该值。
现在简单讲讲MyBatis是获取插入记录自增主键ID值的。
StuDao.java
stuDao.xml
JUnit4
这里的i代表影响的行数。
执行完stuDao.insertStu(stu)就会将本次插入的记录的自增主键ID赋值到stu对象的id中。
你可以理解stuDao.insertStu(stu)干了这两件事:
1.先往表中插入了记录
2.调用了stu.setId方法
useGeneratedKeys默认为false。该字段代表设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。在这里我们设置字段值为true,然后设置keyProperty的值。keyProperty的值注意必须和实体类的主键名一致,(注意不是数据库表的自增主键字段名)。
如果没有用MyBatis。那么直接调用getGeneratedKeys()方法。
ret就是插入记录的自增主键ID值
现在简单讲讲MyBatis是获取插入记录自增主键ID值的。
public class Stu { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
StuDao.java
public interface StuDao { public int insertStu(Stu stu); }
stuDao.xml
<mapper namespace="org.zjc.dao.StuDao"> <insert id="insertStu" parameterType="org.zjc.entity.Stu" useGeneratedKeys="true" keyProperty="id"> insert into stu(Name) values (#{name,jdbcType=VARCHAR}) </insert> </mapper>
JUnit4
public void TestinsertStu() throws Exception { Stu stu = new Stu(); stu.setName("吕布"); int i = stuDao.insertStu(stu); System.out.println(i); System.out.println(stu.getId()); }
这里的i代表影响的行数。
执行完stuDao.insertStu(stu)就会将本次插入的记录的自增主键ID赋值到stu对象的id中。
你可以理解stuDao.insertStu(stu)干了这两件事:
1.先往表中插入了记录
2.调用了stu.setId方法
useGeneratedKeys默认为false。该字段代表设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。在这里我们设置字段值为true,然后设置keyProperty的值。keyProperty的值注意必须和实体类的主键名一致,(注意不是数据库表的自增主键字段名)。
如果没有用MyBatis。那么直接调用getGeneratedKeys()方法。
Connection conn = ; Serializable ret = null; PreparedStatement state = .; ResultSet rs=null; try { state.executeUpdate(); rs = state.getGeneratedKeys(); if (rs.next()) { ret = (Serializable) rs.getObject(1); } } catch (SQLException e) { } return ret;
ret就是插入记录的自增主键ID值
相关文章推荐
- 【mysql】避免重复插入记录,并获取该重复记录的id?
- 数据库中插入一条记录后获取主键id
- C#中使用MySqlCommand执行插入语句后获取该数据主键id值的方法
- Java获取最后插入MySQL记录的自增ID值的3种方法
- mysql获取插入的id主键
- ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- 利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
- MyBatis+MySQL 返回插入记录的主键ID
- MyBatis+MySQL 返回插入记录的主键ID
- mysql获取刚插入(添加)记录的自动编号id
- Mybatis + Mysql插入后获取主键id
- MyBatis+MySQL 返回插入记录的主键ID
- 获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- Java获取最后插入MySQL记录的自增ID值方法
- hibernate中获取使用mysql当前插入一条记录的id值
- MySQL使用LAST_INSERT_ID()获取新插入记录的ID
- mysql更新语句获取受影响行数和插入记录id
- 使用MyBatis+MySQL插入记录后返回该记录主键ID
- MyBatis+MySQL 返回插入记录的主键ID
- 【PHP】MySQL获取插入数据的主键(自增加ID)