ステートメントにパラメータを複数渡す
提供: tknotebook
メインページ>コンピュータの部屋#Java>MyBatis Tips
MyBatis では select, insert, update, delete ステートメント(メソッド)を Mapper インターフェースに
定義できますが、パラメータは1個のみと思い込んでいる方がおられるようです。
例えば、インターフェースの定義は
public interface CardMapper {
/**
* キーでカードを取得.
* @param card カード
* @return カード
*/
Card findByKey(String userid, String english);
}
XMLでの定義は
<select id="findByKey" resultMap="CardResult">
select * from cards where userid=#{param1} and english=#{param2}
</select>
とすれば
CardMapper cardMapper = sqlSession.getMapper(CardMapper.class); Card card = cardMapper.findByKey(userid, english);
と呼び出せます。
XML内の OGNLの式で param1, param2, ・・・ を使うのがこつ。1個目、2個目、・・・の引数を表します。