「ステートメントにパラメータを複数渡す」の版間の差分
提供: tknotebook
(ページの作成:「Category:コンピュータCategory:JavaCategory:MyBatis メインページ>コンピュータの部屋#Java>MyBtis Tips MyBatis では se...」) |
(相違点なし)
|
2016年11月16日 (水) 06:04時点における版
メインページ>コンピュータの部屋#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個目、・・・の引数を表します。