Java
MyBatis
creatus

MyBatis備忘録

More than 1 year has passed since last update.

MyBatisの備忘録を記載していく。


IF文

<if test="(author != null and author.name != '') or authorList.size() > 0">

</if>


IN句

column in

<foreach item="sample" open="(" close=")" collection="sampleList" separator=",">
#{sample}
</foreach>


不等号記号「<」を使う場合

<![CDATA[

column <= #{parameter}
]]>


パラメータをDATE型としてバインドする場合

column = #{parameter,jdbcType=DATE}


include

<sql id="sample">

column = True
<sql>

<select id="xxxxx" resultType="string">
select column from table where <include refid="sample" />
</select>


resultType

結果がListの場合、resultTypeはListの中身の型を指定する。

List<String>型で取得したい場合は、resultType="string"と記述する。


Bulk Insert

<insert id="xxxxx" parameterType="java.util.List">

insert into table(column, ・・・) values
<foreach collection="list" item="item" separator=",">
( #{item.propertyName}, #{item.propertyName}, ・・・ )
</foreach>
</insert>


Bulk Update

<update id="xxxxx" parameterType="java.util.List">

<foreach collection="list" item="item" separator=";">
update table set column = #{item.propertyName} where column = #{item.propertyName}
</foreach>
</update>


jdbcType

jdbcType
java

VARCHAR
String

INTEGER
int

NUMERIC
BigDecimal

BIT
boolean

DATE
Date

TIMESTAMP
Date


エイリアス

"java.lang.String"を"string"と表記できる。

http://www.mybatis.org/mybatis-3/ja/configuration.html#typeAliases


javaのMapperインタフェースのパラメータの指定の仕方

void select(

@Param("param1") String param1,
@Param("param2") List<String> param2);

Mapper XMLの方は、parameterType="map"と記述する。


検索条件(Criteria)の作り方

TableExample example = new TableExample();

example.createCriteria()
.andColumnEqualTo(value)
.andColumnEqualTo(value);

example.setOrderByClause("column DESC, column ASC");