mybatis入门使用3:selectKey返回最近插入的id

在使用mybatis insert时,使用id自增有时需要返回最新插入的id;

<insert id="insert" parameterType="com.lls.model.Employee">
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS ID
</selectKey>

insert into t_employee (ID, EmployeeName, Position,
Salary, Tel, DepartmentID
)
values (#{id,jdbcType=INTEGER}, #{employeename,jdbcType=VARCHAR}, #{position,jdbcType=VARCHAR},
#{salary,jdbcType=DOUBLE}, #{tel,jdbcType=VARCHAR}, #{departmentid,jdbcType=INTEGER}
)
</insert>


测试:

package com.lls.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.lls.mapper.EmployeeMapper;
import com.lls.model.Employee;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:config/spring-mybatis.xml" })
public class MyBatisInsert {
private static final Logger LOGGER = LoggerFactory.getLogger(MyBatisInsert.class);

@Autowired
private EmployeeMapper employeeMapper;

@Test
public void testAutoCreate() {
/*
* id 自增;添加时可以设置id,也可以不设置id
* selectkey 返回最近插入的id;
*/
Employee employee = new Employee();
employee.setDepartmentid(1);
employee.setEmployeename("xiaoA");
employee.setPosition("manager");
employee.setSalary(13000d);
int result = employeeMapper.insert(employee);
int id = employee.getId();

LOGGER.info("last insert id : " + id);
}
}

代码文档:http://download.csdn.net/download/lanlianhua_luffy/9869769



©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页