1垂寥、順序傳參法
? ? ? ? pubblic User selectUser(String name,int deptId)吟宦;
? ? ? ? <select id = ''selectUser" resultTMap = "UserMap">
? ? ? ? ? ? ? ? select * from user where user_name = #{0} and dept_id = #{1}
? ? ? ? ? </select>
? ? ? ? #{}里面的數(shù)字代碼你傳入?yún)?shù)的順序,這種方法不建議使用草巡,sql層表達(dá)不直觀,且一旦順序調(diào)整容易出錯(cuò)刊头。
? 2刻盐、@Param注解傳參法
? ? ? ? public User selectUser(@Param(“userName”)String name,int @Param(“deptId”) deptId);
? ? ? ? <select id = "selectUser" resultMap = "UserResultMap'>
? ? ? ? ? ? ? ? select? * from user Where user_name = #{userName} and dept_id = #{deptId}
? ? ? ? </select>
? ? ? ? #{}里面的名稱對(duì)應(yīng)的是注解@Param括號(hào)里面修飾的名稱
? ? ? ? 這個(gè)方法在參數(shù)不多的情況還是比較直觀的,推薦使用蠢箩。
3腰池、Map 傳參法
? ? ? ?#{}里面的名稱對(duì)應(yīng)的是Map里面的key名稱尾组。
? ? ? ? 這種方法適合傳遞多個(gè)參數(shù),且參數(shù)易變能靈活傳遞的情況示弓。
4讳侨、Java Bean傳參法
? ? ? ? public User selectUser(User paras);
? ? ? ? < select id = "selectUser" parameterType = “com.test.User” resultMap= “UserResultMap”>
? ? ? ? ? ? ? ? select * from user where user_name = #{userName} and dept_id = #{deptId}
? ? ? ? </select>
? ? ? ? #{} 里面的名稱對(duì)應(yīng)的是User類里面的成員屬性,這種方法很直觀奏属,擴(kuò)展不容易跨跨,需要加屬性,看情況使用囱皿。?