主要製品†
MyBatis†
- SQLとObjectのマッパー
- XMLにSQLを記載する、XMLにmethod名のIDをつけると該当メソッドはそのSQLを実施する。
Includeする†
<select id="countById" resultType="_long">
SELECT
COUNT(DISTINCT A.id)
<include refid="searchConditionFragment">
<property name="condition" value="#{condition}"/>
</include>
</select>
<sql id="searchConditionFragment">
FROM
Hoge A
</sql>
In条件に展開する†
<if test="condition.prefecture != null and !condition.prefecture.isEmpty()">
AND A.prefecture_id IN
<foreach item="prefecture" collection="condition.prefecture" open="(" separator="," close=")">
#{prefecture.id}
</foreach>
</if>
Springbootで利用†
- V1.5.3と利用すると@Mapperつけても無視される。なのでブートクラスにMapperscanのパッケージ名+@Mapper併用で何とか起動
Springbootとの連携†
- @MapperScanを使って対象のパッケージを指定する。
<mybatis:scan base-package="org.mybatis.spring.sample.mapper" />
@MapperScan("org.mybatis.spring.sample.mapper")
SQLファイル†
<sql id="searchConditionFragment">
Select
*
FROM
TableA
<if test="condition.someFlg != null and condition.someFlg">
JOIN TableB ON TableA.id = TableB.tablea_id
</if>