需求:查詢出剛剛插入(刪除/修改)的記錄的詳細信息
1、xxxMapper接口
public interface EmployeeMapper {
// 添加操作
public int insertEmployee(Employee employee);
// 根據ID查詢出一條記錄
public Employee queryEmployeeByEmployeeId(Integer employeeId);
}
2、xxxMapper.xml
<mapper namespace="com.mybatis.dao.EmployeeMapper">
// 插入一條記錄
// useGeneratedKeys:默認值是true,但是還是建議寫上
// keyProperty:將剛剛插入的記錄的主鍵使用傳入的Employee對象中的employeeId屬性接收
<insert id="insertEmployee" useGeneratedKeys="true" keyProperty="employeeId">
INSERT INTO employee VALUES (null,#{employeeName},#{employeePassword},#{employeeAge},#{departmentId})
</insert>
// 根據employeeId查詢Employee對象
<select id="queryEmployeeByEmployeeId" resultType="com.mybatis.entity.Employee">
SELECT EMPLOYEE_ID,EMPLOYEE_NAME,EMPLOYEE_PASSWORD,EMPLOYEE_AGE,DEPARTMENT_ID FROM employee
WHERE EMPLOYEE_ID=#{employeeId}
</select>
</mapper>
3、測試類
@Test
public void test01() throws IOException {
SqlSession session = TestMybatis.openSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
Employee employee = new Employee();
employee.setEmployeeName("田七");
employee.setEmployeeAge("27");
employee.setEmployeePassword("4456");
employee.setDepartmentId(4);
// 這里返回的是影響的行數
int i = mapper.insertEmployee(employee);
// 根據插入的id,查詢出剛剛插入的記錄,因為我們將插入的主鍵封裝進了Employee對象的employeeId屬性中
Employee e = mapper.queryEmployeeByEmployeeId(employee.getEmployeeId());
System.out.println(e);
}
4、測試結果
Employee{employeeId=9, employeeName='田七', employeePassword='4456', employeeAge='27', departmentId=4}