ステートメントにパラメータを複数渡す
提供: tknotebook
メインページ>コンピュータの部屋#Java>MyBtis 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個目、・・・の引数を表します。