一、实现mybatis代码
1、java部分:
UserDeptListVo addVo = new UserDeptListVo();
addVo.setName(deptName);
addVo.setDescription(deptDes);
addVo.setCreateTime(StringUtils.getCreateTimes());
addVo.setUserId(deptUserId);
Integer useDeptrId = userDeptMapper.addDeptByMap(addVo);
this.log.info("deptId--1--->"+String.valueOf(useDeptrId));
this.log.info("deptId--2--->"+String.valueOf(addVo.getId()));
2、mapper接口
@Mapper
public interface IUserDeptMapper {
/**
* 新增数据并返回新录入的id值
* @param map
* @return
*/
public Integer addDeptByMap(UserDeptListVo userDeptListVo);
}
3、mapper.xml写法
<insert id="addDeptByMap" parameterType="UserDeptListVo">
INSERT INTO user_department
(name,role_id,status,description,create_time,user_id)
values(#{name},'0','0',#{description},#{createTime},#{userId});
<!-- 指定结果类型resultType,keyProperty是属性,自动返回到属性id中,order是次序,after是指获取id是在于插入后 -->
<selectKey resultType="int" keyProperty="id" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
</insert>
二、总结细节
用到此项方式必须注意以下几点:
1、参数传递用类进行传递操作;
2、获取添加后的记录的id值,必须从传入的对象中取得!
this.log.info("deptId--2--->"+String.valueOf(addVo.getId()));
3、修改/删除操作亦可用
<selectKey resultType="int" keyProperty="id" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
但在删除操作执行前,进行查询操作,也就是 order="before" ;