标签:map page 2.3 style -- value tis bean public
mybatis不会做特殊处理,#{参数名/任意名}:取出参数值
例如:接口中方法 public Employee getEmpById(String empId);
XML中 <select id="getEmpById" resultType="com.mybatis.entity.Employee">
select * from t_employee where empId=#{empId}
</select>
mybatis会做特殊处理,多个参数会被封装成 一个map
key:param1...paramN,或者参数的索引也可以
value:传入的参数值
#{key}取出对应的参数值
例如:接口中方法 public List<Employee> getEmpsByempNameAndSex(String empName,Integer empSex);
XML中 <select id="getEmpsByempNameAndSex" resultType="com.mybatis.entity.Employee">
select * from t_employee where empName=#{0} and empSex=#{1}
</select>
或者
<select id="getEmpsByempNameAndSex" resultType="com.mybatis.entity.Employee">
select * from t_employee where empName=#{param1} and empSex=#{param2}
</select>
明确指定封装参数时map的key,多个参数会被封装成 一个map
key:使用@Param注解指定的值
value:参数值
#{指定的key}取出对应的参数值
例如:接口中方法 public List<Employee> getEmpsByempNameAndSex(@Param("empName")String empName,@Param("empSex")Integer empSex);
XML中 <select id="getEmpsByempNameAndSex" resultType="com.mybatis.entity.Employee">
select * from t_employee where empName=#{empName} and empSex=#{empSex}
</select>
#{key}:取出map中对应的值
例如:接口中方法 public List<Employee> getEmpsByempNameAndSex(Map<String, Object> map);
XML中 <select id="getEmpsByempNameAndSex" resultType="com.mybatis.entity.Employee">
select * from t_employee where empName=#{empName} and empSex=#{empSex}
</select>
如果多个参数正好是我们业务逻辑的数据模型,我们就可以直接传入pojo
#{属性名}:取出传入的pojo的属性值
例如:接口中方法 public Integer addEmployee(Employee employee);
XML中 <insert id="addEmployee" parameterType="com.mybatis.entity.Employee">
insert into t_employee(empId,empName,empSex,empAge) values(#{empId},#{empName},#{empSex},#{empAge})
</insert>
标签:map page 2.3 style -- value tis bean public
原文地址:https://www.cnblogs.com/fengfuwanliu/p/10591405.html