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......估计卓越看了我的库, 想骂我...

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

  • 相关阅读:
    VS2012 启动性能分析导致电脑重启问题解决方法
    C# sqlite no such table 问题
    C# webkit内核 网页填表
    smali注入log输出信息
    Android Studio 连接夜神模拟器
    chrome 所有请求返回内容中查找字符串 CTRL+SHIFT+F
    C# WinForm调用控制台窗口Console 显示信息
    C# 判断txt文件编码格式
    C# 利用DotRas 操作adsl
    QQ gtk,bkn算法
  • 原文地址:https://www.cnblogs.com/Montauk/p/9722092.html
Copyright © 2011-2022 走看看