Mybatis传递参数的四种方式

目录

方式一、顺序传递参数

mapper.java文件:

public User selectUser(String name, int deptId);

mapper.xml文件:

<select id="selectUser" resultType="com.wyj.entity.po.User">
	select * from user where userName = #{0} and deptId = #{1}
</select>

注意:里面的数字代表你传入参数的顺序,不是特别建议使用这种方法传递参数,特别是参数个数多的时候

方式二、注解@Param传递参数

mapper.java文件:

public User selectUser(@Param("userName") String name, int @Param("deptId") id);

mapper.xml文件:

<select id="selectUser" resultType="com.wyj.entity.po.User">
	select * from user where userName = #{userName} and deptId = #{deptId}
</select>

注意:在xml文件中就只能以在@Param注解中声明的参数名称获取参数

方式三、使用Map集合传递参数

mapper.java文件:

public User selectUser(Map<String, Object> params);

mapper.xml文件:

<select id="selectUser" parameterType="java.util.Map" resultType="com.wyj.entity.po.User">
	select * from user where userName = #{userName} and deptId = #{deptId}
</select>

方式四、使用JavaBean实体类传递参数

mapper.java文件:

public User selectUser(User user);

mapper.xml文件:

<select id="selectUser" parameterType="com.wyj.entity.po.User" resultType="com.wyj.entity.po.User">
	select * from user where userName = #{userName} and deptId = #{deptId}
</select>
上一篇:查询各部门总工资最高的部门的工资最高的员工姓名,工资,所在区域,部门


下一篇:Mybatis使用association时的执行效率(N+1)问题