mybatis 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不会吧!
是的啊 直接报错了,我用的另外一种方法实现的
先谢谢回答了啊,试过之后不行啊 这样的话 直接报错了