Mybatis傳遞多個(gè)參數(shù)的三種實(shí)現(xiàn)方法
方案一
Dao層的函數(shù)方法
1 Public User selectUser(String name,String area);
對(duì)應(yīng)的Mapper.xml
<select resultMap='BaseResultMap'> select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR} </select>
其中,#{0}代表接收的是dao層中的第一個(gè)參數(shù),#{1}代表dao層中第二參數(shù),更多參數(shù)一致往后加即可。
方案二(Map傳值)
Dao層的函數(shù)方法
1 Public User selectUser(Map paramMap);
對(duì)應(yīng)的Mapper.xml
<select parameterType='map' resultMap='BaseResultMap'> select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR} </select>
Service層調(diào)用
Private User xxxSelectUser(){ Map paramMap = new hashMap(); paramMap.put(“userName”,”對(duì)應(yīng)具體的參數(shù)值”); paramMap.put(“userArea”,”對(duì)應(yīng)具體的參數(shù)值”); User user=xxx. selectUser(paramMap);}
方案三(推薦)
Dao層的函數(shù)方法
1 Public User selectUser(@Param(“userName”) String name,@Param(“userArea”) String area);
對(duì)應(yīng)的Mapper.xml
<select parameterType='map' resultMap='BaseResultMap'> select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR} </select>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 記一次mariadb數(shù)據(jù)庫(kù)無(wú)法連接2. sqlserver給表添加新字段、給表和字段添加備注、更新備注及查詢備注(sql語(yǔ)句)3. Microsoft Office Access添加圖片的方法4. mysql 大表批量刪除大量數(shù)據(jù)的實(shí)現(xiàn)方法5. 一文帶你搞懂MySQL的MVCC機(jī)制6. 經(jīng)驗(yàn)總結(jié):DB2數(shù)據(jù)庫(kù)功能及性能使用方法7. MySQL實(shí)現(xiàn)數(shù)據(jù)更新的示例詳解8. SQLite3數(shù)據(jù)庫(kù)的介紹和使用教程(面向業(yè)務(wù)編程-數(shù)據(jù)庫(kù))9. 為SQLite3提供一個(gè)ANSI到UTF8的互轉(zhuǎn)函數(shù)10. Mysql/MariaDB啟動(dòng)時(shí)處于進(jìn)度條狀態(tài)導(dǎo)致啟動(dòng)失敗的原因及解決辦法
