最初のステップは、Interface TypeHandler <T>を実装することです
@mappedjdbctypes(jdbctype.timestamp)//この注釈がここに使用されていない場合、jdbctype = "timestamp" @mapptypes(datetime.class)// DateTimeHandlerはTypeHandler <DateTime>を実装しています{ステップ2登録タイプハンドラー
登録するには2つの方法があります
1つは単一の登録です
<TypeHandlers> <TypeHandler Handler = "com。 jdbctype = "varchar"/> </typehandlers>
1つはバッチ登録です
<mappers> <mapper resource = "com/tiantian/mybatis/mapper/usermapper.xml"/> <パッケージname = "com.tiantian.mybatis.mapperinterface"/> </mappers>
2番目の登録方法が使用されている場合、JDBCTYPEとJavatypeの宣言は注釈によってのみ定義できます
ステップ3:使用:
1。クエリ結果セットフィールド定義
<resultmap id = "ueserresult" type = "user"> <id column = "id" property = "id"/> <result column = "antss" properties "fortess" javatype = "[ljava.lang.string;" jdbctype = "varchar"/> </resultmap>
または
<resultmap id = "ueserresult" type = "user"> <id column = "id" property = "id"/> <result column = "antss" properts "typehandler =" com.tiantian.mybatis.handler.stlingarraytypehandler "/> </resultmap>
つまり、TypeHandlerクラスが直接指定されている場合、MyBatisを書いてもJavatypeとJDBCtypeを書く必要はありません。
2。パラメーターを渡してクエリまたはそれらを変更します
<test = "txlogstatus!= null"> txlogstatus =#{txlogstatus、typehandler = com.rrcp.util.typehandlers.eventstatustypehandler}、</if>同様に、ここのタイプハンドラーはJDBCTYPEとJavatypeに置き換えることもできます
要約:
登録して使用するときは、一貫性を保つか、そのまま記述してください。統一されていない場合、対応するTypeHandlerは見つかりません。エラーが報告されます。私たちの目的は、タイプハンドラー処理メカニズムを正しく使用することです。 MyBatisが登録と検索で使用するアルゴリズムを掘り下げたくありません。時間があり、時間がある場合は、より少ない属性を登録することによってどのような結果が生じるかを調べることができます。ただし、それらを徹底的に研究すると、Myabtisの次のバージョンが変更される可能性があります。
上記は、MyBatisのカスタムタイプハンドラーを実装する3段階のプロセスです。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!