我使用Mybatis 3.1.1和Postgresql 9.2。我有班级学生(身份证,姓名)。我想在数据库中插入一条新记录并获取其ID。
我的代码是
Student s=new Student();
s.setName("javagc");
studentMapper.insertSelective(s);
但s.getId()
为null
。
有人能帮助我吗?
答案 0 :(得分:0)
您使用的是哪个数据库?
它应该适用于MySql,正如这些问题所述; Get the id of last inserted record in mybatis, How to obtain last insert id in Oracle using MyBatis?
我无法使其在我的Oracle数据库上运行。所以我在插入后手动获取序列的当前值。
<insert id="insertSelective" parameterType="myObject">
<selectKey keyProperty="seq_id" order="AFTER" resultType="int">
SELECT mySchema.myTable_seq.currval FROM dual
</selectKey>
INSERT INTO mySchema.myTable . . .
</insert>