这是一个错误吗?
当我使用mybatis和mysql,列名称为permission_ids
时,我总是得到null
。
但当我将其更改为permissions
时,它才有效。为什么呢?
SELECT
sys_role.id,
sys_role.role,
sys_role.description,
sys_role.permission_ids
FROM sys_role
WHERE id = #{id}
答案 0 :(得分:0)
如果您正在使用XML文件:
你应该:
<select id="selectQuery" resultMap="selectMap">
SELECT
sys_role.id,
sys_role.role,
sys_role.description,
sys_role.permission_ids
FROM sys_role
WHERE id = #{id}
</select>
<resultMap id="selectMap" type="SysRole">
<id column="permission_ids" property="permissionIds">
<result ....//the rest columns to map to java properties in your model class "SysRole"
</resultMap>
这应该有用!
如果没有,作为解决方案的替代方案,您可以使用Alias而不是重命名列&#34; permission_ids&#34;:
SELECT
sys_role.id,
sys_role.role,
sys_role.description,
sys_role.permission_ids **as permissions**
FROM sys_role
WHERE id = #{id}