2011-07-13 16 views
12

私はmybatis3でマッパーを定義するために追加のxmlを持つことを避けようとしています。注釈はすぐに収まります。MyBatisで動的SQLクエリを使用してアノテーションを使用する方法(selectProviderの使用方法)

@ SelectProvider/@ InsertProvider /などの使用法は少し混乱しています。これで私を導くオンラインリソースがたくさんあるとは思わない。

基本的に、私はmybatis3の代替のアノテーションバージョンを探しています。例えば

、私は、XMLマッパーを持っていると私はそれが注釈

<select ...> 
    <where> 
    <if cause.....> 
    </if> 
    <if cause......> 
    </if> 
    </where> 
</select> 

誰でもコードを含む具体的な答え/ソリューションを提供できるを使用するように変換したいですか?

ありがとうございます! MyClassの中

@SelectProvider(type=MyClass.class, method="myMethod") 
public Object selectById(int id); 
  • :あなたのマッパーインタフェースの

  • 答えて

    5
    1. public static String myMethod() { 
          return "select * from MyTable where id=#{id}"; 
      } 
      
    15

    あなたのための代替ソリューションは以下のようになります。

    先頭に<script>を追加あなたの 追加で

    @Update("<script> 
        update Author 
        <set> 
         <if test="username != null">username=#{username},</if> 
         <if test="password != null">password=#{password},</if> 
         <if test="email != null">email=#{email},</if> 
         <if test="bio != null">bio=#{bio}</if> 
        </set> 
        where id=#{id} 
    </script>") 
    

    @Annotationは、我々はの.groovyは、このように、私たちはこれは本当にクールです

    +0

    上記のよう@AnnotationでSQLを書くことができ、私たちのプロジェクト内の.classしてコンパイルします。ただし、「