mybatis 3张表查询,为什么查询出了值但获取时却为空

发布于 2021-11-16 05:15:16 字数 8828 浏览 923 评论 3

在xml中配置关系resutmap如下:

<mapper namespace="com.hwsensor.framework.dao.IRolePermissionDao">
<!-- 联合permission,role,per-role的查询 --> 
<resultMap id="detailedPerRoleResultMap" type="RolePerPO">
    <id property="id" column="ID" />
    <result property="roleId" column="ROLE_ID" />
    <result property="permId" column="PERM_ID" />
    <result property="action" column="ACTION" />
    <result property="available" column="AVAILABLE" />
    <association property="permId" column="perm_id" javaType="PermissionPO">
  <id property="id" column="ID" />
  <result property="parentId" column="PARENTID" />
  <result property="name" column="NAME" />
  <result property="url" column="URL" />
  <result property="image" column="IMAGE" />
  <result property="available" column="AVAILABLE" />
  <result property="admin" column="ADMIN" />
  <result property="orderNum" column="ORDERNUM" />
  <result property="description" column="DESCRIPTION" />    
    </association>
    <collection property="roleId" ofType="RolePO">
   <id property="id" column="ID" />
  <result property="parentId" column="PARENTID" />
  <result property="name" column="NAME" />
  <result property="description" column="DESCRIPTION" />  
    </collection>
</resultMap>

<!-- 根据permission的id查询三张表 -->
 <select id="retrievePerRoleDetails" parameterType="java.lang.String" resultMap="detailedPerRoleResultMap">
           SELECT
                RP.ID            RPID,
                                         RP.ROLE_ID       RPROLEID,
                                         RP.PERM_ID       RPPERID,
                                         RP.ACTION        RPACTION,
                                         RP.AVAILABLE     RPAVAILABLE,
                                         PER.ID           PERID,
                                         PER.PARENTID     PERPARENTID,
                                         PER.NAME         PERNAME,
                                         PER.URL          PERURL,
                                         PER.IMAGE        PERIMAGE,
                                         PER.AVAILABLE    PERAVAILABLE,
                                         PER.ADMIN        PERADMIN,
                                         PER.ORDERNUM     PERORDERNUM,
                                         PER.DESCRIPTION  PERDESCRIPTION,
                                         ROLE.ID          ROLEID,
                                         ROLE.NAME        ROLENAME,
                                         ROLE.DESCRIPTION ROLEDESCRIPTION
                                      FROM SYS_ROLE_PERM  RP,
                                         SYS_PERMISSION PER,
                                         SYS_ROLE       ROLE
                                         WHERE RP.ROLE_ID = ROLE.ID
                                           AND RP.PERM_ID = PER.ID
                                            AND RP.PERM_ID =  #{permId}
</mapper>

在action中获得的对象的List<RolePermPO>为空,但是它的长度存在,在控制端也打印出了查询出的数据,就是获取的List<RolePermPO>为空?为什么啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

裸钻 2021-11-17 15:59:47

不会吧!

无边思念无边月 2021-11-17 15:47:32

是的啊 直接报错了,我用的另外一种方法实现的

天涯离梦残月幽梦 2021-11-17 13:57:00

先谢谢回答了啊,试过之后不行啊 这样的话 直接报错了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文