2014-10-01 37 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