2017-06-13 9 views
0

私は日と月のような2列からデータを取得する必要がありますが、これをDateオブジェクトに変換してBeanクラスに設定したいと考えています。2列のカスタムmybatisマッパー

これは、プロパティをJavaクラスに追加しないと可能ですか?

私はカスタム結果ハンドラをチェックしようとしましたが、例が明確ではありませんでした。選択メソッドから戻る前に、カスタムハンドラを実行するフックがありますか?

答えて

0

MyBatisの用語では、という結果マップと呼ばれています。これは、タイプのあるフィールドをデータベーステーブルの列にマップするために使用されます。

これは2通りの方法で設定できます。 XMLコンフィグ

<resultMap id = "result" type = "Date"> 
    <result property = "month" column = "monthcolumn"/> 
    <result property = "day" column = "daycolumn"/> 
    <result property = "year" column = "yearcolumn"/> 
</resultMap> 

<select id = "getDate" resultMap = "result"> 
    SELECT * FROM yourtable.dates 
</select> 

それとも、アノテーションを使用している場合:

@Select("SELECT * FROM yourtable.dates") 
@Results(value = { 
@Result(property = "day", column = "daycolumn"), 
@Result(property = "month", column = "monthcolumn"), 
@Result(property = "year", column = "yearcolumn")})  
public Date getDate(); 
+0

申し訳ありませんが、私は..私は私の中でプロパティを追加する必要はありません明確にされている必要がありますjavaクラス。私のJavaクラスは既に日付が提出されているので、col1とcol 2の結果を組み合わせてそのフィールドにマップしたい – Metalhead

関連する問題