mybatis中inster一条数据后返回数据库自增的主键值

  • 相关sql的写法
    1. keyProperty=”tid” 对应的是实体映射
    2. keyColumn=”typing_test_id” 对应的是表中的字段自增主键 id
1
2
3
4
5
<insert id="insterTypingTest" parameterType="com.mwt.oes.dto.TypingTestDTO" useGeneratedKeys="true"                 keyProperty="tid"  keyColumn="typing_test_id">
INSERT INTO typing_test ( title, test_user_role, typing_content_id, start_time, end_time, duration, create_user,create_time, update_time )
VALUES
(#{typingTestDTO.title},#{typingTestDTO.userRole},#{typingTestDTO.typingContentId},# {typingTestDTO.startTime},#{typingTestDTO.endTime},#{typingTestDTO.duration},# {typingTestDTO.createUser},now(),now())
</insert>
  • service层的调用写法
1
2
3
4
public void insterTypingTest(TypingTestDTO typingTestDTO) {
typingTestMapper.insterTypingTest(typingTestDTO); //执行完inster语句之后mybatis会自动封装到你的参数对象中
System.out.println(typingTestDTO.getTid())
}