Mybatisで部分一致の書き方

Mybatisで部分一致の書き方

Mybatisで部分一致を実現するためのSQLマッピングの例を以下に示します。

Mapper XMLの例

<mapper namespace="test.UserMapper">

    <select id="findUsersByName" resultType="test.User">
        SELECT * FROM user
        WHERE name LIKE CONCAT('%', #{name}, '%')
    </select>

</mapper>

Mapperインターフェースの例

package test;

import java.util.List;

public interface UserMapper {
    List<User> findUsersByName(String name);
}

この例では、findUsersByName メソッドを使って、user テーブル内で名前に部分一致するユーザーを検索しています。
{name} には検索する名前がバインドされ、LIKE CONCAT('%', *{name}, '%') で部分一致検索を実現しています。