无废话:如何使用ibatis type handler  

使用ibatsi时,如果你的javabean中有个属性不是string, date, int等数据库直接支持的类型,那么就要用自定义ibatis type handler,来告诉ibatis在对它进行数据库存取时应该如何做java type与sql type的互转。

1. 建一个类实现TypeHandlerCallback接口, 如

  public class SomeTypeHandlerCallback implements TypeHandlerCallback {
     ....
  }
 

2.在sql map文件中使用它。为了避免写起来太啰嗦,建议先定义一下typeAlias

<typeAlias alias="someTypeHandlerCallback "
	type="com.some....SomeTypeHandlerCallback" />

  

3.在用于查询的resultMap中引用一下

	<resultMap id="helloResult" class="hello">
                ...
		<result property="some" column="SOME"
			typeHandler="someTypeHandlerCallback"/>
                ...

4.在用于增、改的parameter中也要引用一下

<insert id="insertHello" parameterClass="hello">  
     <![CDATA[  
       insert into 
       		hello
       (			 
	        ...,
                SOME
       )values
       (		 
                ...
		#some,handler=someTypeHandlerCallback#       ,
       );
     ]]>

特别注意: 上面的","和"handler"之间不能有空格

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.