ФОНповедение mapUnderscoreToCamelCase в MyBatis
У меня есть следующие настройки в моем mybatis-config.xml
, как показано ниже.
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
.
.
.
Как вы уже знаете, и, как говорит название параметра, оно позволяет автоматическое отображение для изменения подчеркивания имен столбцов верблюжьих имен.
ТАК, ЗАЯВЛЯЕТ РЕЗУЛЬТАТУ ПОСРЕДНИКА, КАК НИЖЕ СТАНОВИТСЯ НЕОБХОДИМЫМИ РАБОТАМИ.
<resultMap id="userModel" type="UserModel">
<result property="userCode" column="USER_CODE" />
<result property="userId" column="USER_ID" />
<result property="userName" column="USER_NAME" />
<result property="password" column="USER_PASSWORD" />
<result property="land" column="LAND" />
</resultMap>
.
.
.
ПРОБЛЕМА
Я сначала подумал, что это может сделать какие-либо имена столбцов верблюдов случаи. Но это не похоже.
Просто взгляните на эти два примера.
<select id="select" resultType="hashMap">
<![CDATA[
SELECT ID
,USER_ID
,USER_NAME
,REG_DATE
,UPD_DATE
FROM TEST
]]>
</select>
Выше одного не преобразовано в верблюд.
<select id="selectTutorial" resultType="UserModel">
<![CDATA[
SELECT ID
,USER_ID
,USER_NAME
,REG_DATE
,UPD_DATE
FROM TEST
]]>
</select>
Но один превращаются в верблюжье очень красиво.
Единственная разница в их resulyType
. Один - hashMap
, а другой - UserModel
.
Эта ситуация заставляет меня думать, что модель является обязательной для отображения столбцов. Поэтому я сделал выстрел с диким угаром, как показано ниже.
public class UserModel {
int id;
String userId;
String userName;
Date regDate;
Date updDate;
.
.
.
// Change its variable names to...
public class UserModel {
int ID;
String userID;
String userNAME;
Date REGdate;
Date UPDdate;
.
.
.
И это было правильно. Mybatis следует за именами участников модели. Поэтому мои вопросы сужаются до этого.
- Могу ли я получить имена ключевых верблюжьих даже когда картограф
resultType
являетсяhashMap
?