Service层
/**
* 新增主机设备管理信息
*
* @param hostPojo 主机设备管理信息
* @return 结果
*/
@Override
@Transactional
public int addHost(HostPojo hostPojo) {
//插入主机表
int numsHost = hostDao.addHost(hostPojo);
Long hostId=hostPojo.getHostId();
//插入资产密码表
//密码加密
String sms4Password = SMS4Util.encodeSMS4toString(hostPojo.getPassword());
AssetsPasswordPojo assetsPasswordPojo = new AssetsPasswordPojo();
assetsPasswordPojo.setUser(hostPojo.getUser());
assetsPasswordPojo.setPassword(sms4Password);
assetsPasswordPojo.setAssetsId(hostId);
//向密码表插入数据
assetsPasswordService.addAssetsPassword(assetsPasswordPojo);
return numsHost;
}
DAO层
/**
* 查询主机设备管理列表
*
* @param hostPojo 主机设备管理
* @return 主机设备管理集合
*/
List<HostPojo> listHost(HostPojo hostPojo);
Mybatis
<insert id="addHost" parameterType="HostPojo" useGeneratedKeys="true" keyProperty="hostId">
insert into host
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hostName != null and hostName != ''">host_name,</if>
<if test="hostCi != null and hostCi != ''">host_ci,</if>
<if test="ciName != null and ciName != ''">ci_name,</if>
<if test="ciStatus != null and ciStatus != ''">ci_status,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hostName != null and hostName != ''">#{hostName},</if>
<if test="hostCi != null and hostCi != ''">#{hostCi},</if>
<if test="ciName != null and ciName != ''">#{ciName},</if>
<if test="ciStatus != null and ciStatus != ''">#{ciStatus},</if>
</trim>
</insert>
**注意:**使用mybatis执行insert操作时,需要返回自增主键 时
useGeneratedKeys设置为true
keyProperty设置为实体类主键字段
mapper接口返回值仍然是插入数据成功的条数,但是主键值已经赋值到领域模型实体的id中了。在Service层中
Long hostId=hostPojo.getHostId();
可以取到自增的主键ID即hostId。