MyBatisのinclude refidとsqlタグ

MyBatisのinclude refidとsqlタグ

include refid

MyBatisで以下のような記述をする事が出来ます。

<include refid="from" />

ここでは、fromというキーを使用していますが、なんでもいいです。このキーで別の場所に記述したSQLをインクルードしてくれます。

<sql></sql>タグ

別の場所に記述する方法は以下の通り、<sql>を使用します。このタグで再利用可能なSQL文を記述して置き、再利用します。

<sql id="from">
    FROM SCHEMA.TBL A 
</sql>

以下、記述例です。

<select id="select_data"> 
    SELECT A.COLUMN
    <include refid="from" />
    <include refid="where" />
</select>

namespace属性がマッパーXMLファイルに指定されていると思われるので、refidはnamespece.refidとします。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper 
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="jp.co.confrage.repository.EmployeeMapper" >
  <sql id="colomun_list">
  id,
  name,
  age
  </sql>

  <select id="select_data" >
    select 
      <include refid="jp.co.confrage.repository.EmployeeMapper.column_list" />
    from employee
  </select>
</mapper>

コメント

タイトルとURLをコピーしました