zoukankan      html  css  js  c++  java
  • 芝士,老鼠夹, 我来了

    嗯, 重新开始吧.

    在看mybatis的书, 把mybatis再恶补一下吧, 毕竟这个是纯软, 家里还没收拾完, 纯软容易搞一点.

     1 <select id="selectRolesByUserAndRole" resultType="marc.mybatis.lesson1.model.SysRole">
     2         select
     3         r.id,r.role_name roleName,r.enabled,r.create_by
     4         createBy,r.create_time
     5         createTime,
     6         u.user_name as "user.userName",
     7         u.id as "user.Id"
     8         from
     9         sys_user u inner join
    10         sys_user_role ur on u.id=ur.user_id inner join
    11         sys_role r on
    12         ur.role_id=r.id
    13         where u.id=#{user.id} and
    14         r.enabled=#{role.enabled}
    15 </select>

    这里有两个知识点, 一个是把user.id,role.enabled这两个值当输入参数的时候, 如果传入的直接是两个类, 或曰对象, 可以这么写, 直接在mapper类里面传入类即可:

    1 List<SysRole> selectRolesByUserAndRole(@Param("user") SysUser user, @Param("role") SysRole role);

    另一个就是把结果拼成一个对象输出的时候, 如果打个比方, 如果role里面含有一个user对象, 就用u.user_name as "user.userName", 输出的时候就可以直接找到内含的这个user对象了:

    SysRole [id=1, rolename=管理员, enabled=1, createby=1, createtime=Sat Dec 09 12:22:12 CST 2017, user=SysUser [id=1, userName=admin, userPassword=null, userEmail=null, userInfo=null, headImg=null, createTime=null]]

    最后要注意的就是两次左连接, 相当于子查询, 可以构建多对多的表关系, 这个东西以前没搞过, 搞用户自定义图片的时候, 我居然用的9个键值, sb......估计卓越看了我的库, 想骂我...

    多对多的关系, 估计还得多练习....

  • 相关阅读:
    vue的学习总结---事件处理
    记一次写入导出优化,分别基于poi的SXSSF和阿里的EasyExcel
    linux系统tomcat部署SpringBoot+vue前后端分离项目正式部署
    java中各jar的作用
    记一次SpringBoot集成WebService使用Postman进行的测试
    搭建VUE
    查看window进程,并杀死进程
    卸载 nginx 彻底删除
    ubuntu16.04 安装 nginx 服务器
    Linux ubuntu ... root 初始化密码设置
  • 原文地址:https://www.cnblogs.com/Montauk/p/9722092.html
Copyright © 2011-2022 走看看