程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Mybatis完成自界說的typehandler三步曲

Mybatis完成自界說的typehandler三步曲

編輯:關於JAVA

Mybatis完成自界說的typehandler三步曲。本站提示廣大學習愛好者:(Mybatis完成自界說的typehandler三步曲)文章只能為提供參考,不一定能成為您想要的結果。以下是Mybatis完成自界說的typehandler三步曲正文


第一步完成接口TypeHandler<T>

@MappedJdbcTypes(JdbcType.TIMESTAMP)//此處假如不應用該注解,在myabtis-config.xml中注冊該typehandler的時刻須要寫明jdbctype="TIMESTAMP"
@MappedTypes(DateTime.class)//此處假如不應用該注解,在myabtis-config.xml中注冊該typehandler的時刻須要寫明javatype="com.sinosoft.sysframework.common.datatype.DateTime"
public class DateTimeHandler implements TypeHandler<DateTime> {

第二步注冊typehandler

注冊方法有兩種

一種是單個注冊

<typeHandlers> 
<typeHandler handler="com.***.DateaTimeTypeHandler" javaType="[Ljava.lang.String;" jdbcType="VARCHAR"/> 
</typeHandlers>

一種是批量注冊

<mappers> 
<mapper resource="com/tiantian/mybatis/mapper/UserMapper.xml"/> 
<package name="com.tiantian.mybatis.mapperinterface"/> 
</mappers>

假如應用第二種注冊方法,jdbctype和javatype的聲明只能經由過程注解的方法界說

第三步:應用:

1、查詢成果集字段界說

<resultMap id="UserResult" type="User"> 
<id column="id" property="id"/> 
<result column="interests" property="interests" javaType="[Ljava.lang.String;" jdbcType="VARCHAR"/> 
</resultMap>

或許

<resultMap id="UserResult" type="User"> 
<id column="id" property="id"/> 
<result column="interests" property="interests" typeHandler="com.tiantian.mybatis.handler.StringArrayTypeHandler" /> 
</resultMap>

即假如直接指清楚明了typehandler類可以不消寫javatype和jdbctype,即便寫了mybatis也不消

2、傳參數查詢或許修正

<if test="txLogStatus != null">
txLogStatus = #{txLogStatus, typeHandler=com.rrcp.util.typehandlers.EventStatusTypeHandler},
</if>

同理此處的typehandler也能夠換成jdbcType和javaType

總結:

注冊的時刻和應用的時刻盡可能堅持分歧或許都寫完全,假如不同一,會找不到響應的typehandler從而報錯,我們的目標是要准確應用typehandler的處置機制,其實不想深究mybatis在注冊和查找應用的算法,所以只需勝利便可。有時光閒的蛋疼的哥們可以研討下,少注冊一個屬性,會發生甚麼效果,不外假如你研討透了,說不定myabtis的下個版本就改了。

以上所述是小編給年夜家引見的Mybatis完成自界說的typehandler三步曲,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved