1.单个参数传参
User selectUserInfo(Integer userId);
<select id = "selectUserInfo" parameterType = "java.lang.Inte" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from user
where userId = #{userId , jdbcType=INTEGER}
</select>
2. 按照顺序传参
User selectUserInfo(Integer userId, String userName, String userPass);
<select id = "selectUserInfo" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from user
where userId = #{arg0} and userName = #{arg1} and userPass = #{arg2}
</select>
3. 使用@Param注解传参
User selectUserInfo(@Param("userName")String userName, @Param("userPass")String userPass);
<select id = "selectUserInfo" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from user
where userName = #{userName} and userPass = #{userPass}
</select>
4. 使用Map传参 注意传参方式:parameterType="java.util.Map"
Map<String,Object> map = new HashMap();
map.put("userName","张三");
map.put("userPass","123");
User user = userMapper.selectUserInfo(map);
User selectUserInfo(Map<String,Object> map);
<select id="selectUserInfo" parameterType="java.util.Map" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from user
where userName = #{userName} and userPass = #{userPass}
</select>
5. 实体对象传参
User user = new User();
user.setUserName("张三");
user.setUserPass("123");
User user = UserMapper.selectUserInfo(user);
User selectUserInfo(User record);
<select id="selectUserInfo" parameterType="com.LiuXu.bean.User" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from user
where userName = #{userName} and userPass = #{userPass}
</select>
6. List传参
List<User> list = new ArrayList<>();
list.add(user1);
list.add(user2);
List<User> userList = userMapper.selectUserInfo(list);
List<User> selectUserInfo(List<User> record);
<select id="selectUserInfo" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from user
where userId in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>