如何使用MyBatis将作为Java保留字的DB列名映射到Java模型对象字段?

问题描述 投票:0回答:1

所以我有一个表CoolTable有2列:somethingshort

我的名为CoolClass的模型类用2个字段来反映它:something_shortshort是一个Java保留关键字,因此该字段必须以下划线为前缀。

现在我的mybatis映射器XML使用CoolClass,如下所示:

 <select id="getStuff" resultType="CoolClass">
    SELECT * FROM CoolTable
</select>

<insert id = "insertStuff" parameterType = "CoolClass">
    INSERT INTO CoolTable (something, short)
    VALUES (#{something}, #{short})
</insert>

现在,当我getStuffinsertStuff只有something列被检索和插入。 short总是空的。

我搜索了所有MyBatis文档但找不到与此案例有关的任何相关内容。

我怎样才能将short列映射到_short类的字段?

java mybatis
1个回答
0
投票

通过使用ResultMap修复它,如下所示:

<resultMap id="coolResultMap" type="CoolClass">
    <result property="_short" column="short"/>
</resultMap>

<select id="getStuff" resultMap="coolResultMap">
    SELECT * FROM CoolTable
</select>
© www.soinside.com 2019 - 2024. All rights reserved.