2016-08-07 13 views
0

バグですか? mybatisとmysql、カラム名id permission_idsを使用すると、いつもnullが得られます。 ですが、permissionsに変更すると機能しました。どうして?mybatis列名に下線を付けて

SELECT 
    sys_role.id, 
    sys_role.role, 
    sys_role.description, 
    sys_role.permission_ids 
FROM sys_role 
WHERE id = #{id} 
+0

ない場合は、あなたのソリューションに代わるものとして、あなたの代わりにコラム「permission_idsを」名前の変更の別名を使用することができますか? – Blank

+0

おそらく 'permission_id'(後続の' s'なし)でなければなりませんか?がんばろう。 – shellter

答えて

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> 

!あなたは常に `null`なのでだについて何を意味しています

SELECT 
    sys_role.id, 
    sys_role.role, 
    sys_role.description, 
    sys_role.permission_ids **as permissions** 
FROM sys_role 
WHERE id = #{id} 
関連する問題