为了账号安全,请及时绑定邮箱和手机立即绑定

Mybatis 连带操作(注解方式)(两张表关联,一张表插入一条新数据,另外一张表也跟着插入一条新数据)

标签:
Java

以角色权限模块中增加功能为例子:

  1. 概念:

连带操作:首先先在Role表中插入一条数据,接着拿到rid,往Role-Acl表中插入一条数据

  1. 数据库设计:
    Role表:
    Role表
    Role-Acl表:
    Role-Acl表

  2. 代码实现:

RoleMap:

/**
 * @Description: 新增角色
 */
@Insert("insert into sys_role(rolename,creator,createtime,remark) VALUES(#{rolename},1,NOW(),#{remark})")
@Options(useGeneratedKeys = true, keyProperty = "rid",keyColumn="rid")
int  addRole(SysRole sysRole);

RoleAclMap:

 /**
 *  @Description: 插入到角色权限表
 */
@Insert("INSERT into sys_role_acl(rid,aid) VALUES(#{rid},#{aid})")
int  addRoleAcl(SysRoleAcl sysRoleAcl);

RoleService:

/**
 * @Description: 插入到角色权限表
 */
public Map addRole(SysRole sysRole, String[] aids) {
    int addRole = m_RoleMap.addRole(sysRole);
    Integer rid = sysRole.getRid();
    // SysRoleAcl
    SysRoleAcl sysRoleAcl = new SysRoleAcl();
    sysRoleAcl.setAid(Arrays.toString(aids));
    sysRoleAcl.setRid(rid);
    m_RoleAclMap.addRoleAcl(sysRoleAcl);
    // 调用IRoleAclMap方法
    Map tResultMap = new HashMap();
    tResultMap.put("status", "fail");
    if (addRole <= 0) {
        tResultMap.put("Msg", "添加失败");
        return tResultMap;
    }
    tResultMap.put("status", "success");
    return tResultMap;
}
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
37
获赞与收藏
353

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消