[英]How to map a DB column name that is a Java reserved word to a Java model object field using MyBatis?
所以我有一个带有2列的CoolTable
表: something
和short
。
我的模型类CoolClass
反映了两个字段: something
和_short
。 short
是Java保留的关键字,因此该字段必须以下划线作为前缀。
现在,我的CoolClass
映射器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>
现在,当我得到getStuff
和insertStuff
只有something
列被检索和插入。 short
始终为null。
我搜索了所有MyBatis文档,但找不到与该案例有关的任何相关信息。
如何将short
列映射到类的_short
字段?
通过使用ResultMap修复它,如下所示:
<resultMap id="coolResultMap" type="CoolClass">
<result property="_short" column="short"/>
</resultMap>
<select id="getStuff" resultMap="coolResultMap">
SELECT * FROM CoolTable
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.