mybatis呼び出しビューとストレージ・プロシージャ

2528 ワード


    現在のプロジェクトはMybatisをO/Rマッピングフレームワークとしており、確かに使いやすく、プロジェクトの開発にも非常に便利です.MyBatisは、通常のsqlのクエリー、ビューのクエリー、ストレージ・プロシージャの呼び出しをサポートし、非常に優れた永続層フレームワークです.簡単なXMLまたは注釈用語の構成と元のマッピングを使用して、インタフェースとjavaのPOJOをデータベースのレコードにマッピングできます.
 
一.呼び出しビュー
次のようにビューを呼び出して収益の詳細をクエリーします.sqlセクションは次のとおりです.
     
     

 このビューが返すデータ型はmapです.
mapperセクションは次のとおりです.
     List> getContactEarnsDetail(Integer userId);

 インタフェースのセクションは次のとおりです.
List> getContactEarnsDetail(Integer userId);

次のようになります.
     @Override
     public List> getContactEarnsDetail(Integer userId) {
           Assert. notNull(userId);

            return contactEarnsMapper.getContactEarnsDetail(userId);
     }

上記の例のように、呼び出しビューは、通常のsqlクエリ文を呼び出すのと同じです.
 
二.ストレージプロセスの呼び出し
ストレージ・プロシージャを呼び出すと、結果セットが返される可能性があります.ここでは、主に結果セットが返される場合について説明します.
(1)戻り結果セットを含む
ストアド・プロシージャの構造は次のとおりです.
p_my_wallet(IN var_user_id INT);
     id
revenue_today       
revenue_contacts      
balance       

sqlセクションは次のとおりです.


 
mapperセクションは次のとおりです.
Map getMyWallet(@Param("userId")Integer userId);

インタフェースのセクションは次のとおりです.
Map getMyWallet(Integer userId);

 
(2)結果セットが返されない
sqlセクションは次のとおりです.
  
  < select id= "cardBuild" statementType ="CALLABLE">
     [CDATA[
         {call p_insert_card_build_info (#{is_customized_,mode=IN,jdbcType=INTEGER},#{face_value_,mode=IN,jdbcType=INTEGER},#{number_,mode=IN,jdbcType=INTEGER})}
     ]]>
   select>