1. 程式人生 > >mybatis中傳入基本型別引數,傳入多個基本資料型別

mybatis中傳入基本型別引數,傳入多個基本資料型別

mybatis3.2.6+spring4.0.2 關於傳入基本引數型別 以及多個基本型別引數的問題

最近再練習框架,找到了一點心得分享出來,不對之處歡迎提出共勉

1 引數型別string 一個引數

方法:

User getUserByName(String username);

mapper寫法:

<select id="getUserByName" parameterType="String" resultMap="user">
select * from d_user where user_name =#{1234567890}(或者#{_parameter})
</select>


2 引數型別string 兩個引數

方法:

User getUserByNameAndPwd(String username, String password);

mapper寫法:

<select id="getUserByNameAndPwd" parameterType="String" resultMap="user">
select * from d_user where user_name =#{param1} and user_password=#{param2}
</select>


或者方法:

User getUserByNameAndPwd(@param("username")String username, @param("password")String password);

mapper:

<select id="getUserByNameAndPwd" parameterType="String" resultMap="user">
select * from d_user where user_name =#{username} and user_password=#{password}
</select>


總結:

針對一個基本型別引數,mybatis可以準確的獲取這個引數的數值,不論你在mapper中用#{XXX}怎麼獲取都可以,

針對多個基本引數型別,mybatis需要給他提供一個標識,你可以在方法上新增@param註解 ,當然是,mybatis的包

org.apache.ibatis.annotations.Param , 

你也可以按照引數順序,寫param1,param2之類的,推薦第一種 ,比較嚴謹一點

其實我們可以把引數封裝進user物件中,傳入實體即可,不過為了測試mybatis對於基本型別引數,所以拆開來測試下。