2014-10-01 49 views
4
使用類型處理器的INSERT語句

有配置:如何MyBatis的

<resultMap id="mapId" type="package.MyType"> 
    <result property="prop1" column="column1" /> 
    <result property="prop2" column="column2" /> 
    <result property="prop3" column="column3" typeHandler="package.MyTypeHandler" /> 
</resultMap> 

<select id="selectStat" resultMap="mapId"> 
    SELECT `column1`, `column2`, `column3` 
    FROM `table`; 
</select> 

對於select語句一切都很好,處理程序被調用。

如何在插入數據時編寫INSERT語句來爲column3調用相同的處理程序?

回答

7

您可以按如下所示使用INSERT語句。

<insert parameterType='myType' > 
    INSERT into table(column1, column2, column3) values(#{prop1},#{prop2},#{prop3,typeHandler=package.Typehandler}) 
</insert> 

編輯:使用typeHandler=,而不是typehandler=

+0

使用的MyBatis 3.4.1,這並沒有爲我工作 – BigDong 2016-10-11 16:40:01

+0

正確的語法是'類型控制器='而不是'類型處理器=' – Bludwarf 2016-11-10 09:31:29