1.单个参数

mybatis不会做特殊处理,#{参数名/任意名}:取出参数值

例如:接口中方法 public Employee getEmpById(String empId);

XML中 <select id="getEmpById" resultType="com.mybatis.entity.Employee">

select * from t_employee where empId=#{empId}

</select>

    注意:List集合或数组需@Param指定参数名

2.多个参数

2.1 不使用@Param  不推荐

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=#{} and empSex=#{}
                            </select>

                            或者

                           <select id="getEmpsByempNameAndSex" resultType="com.mybatis.entity.Employee">

 select * from t_employee where empName=#{param1} and empSex=#{param2}
                           </select>

2.2 使用@Param

明确指定封装参数时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>

2.3 Map传参

#{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>

                测试代码

                            Map<String, Object> map=new HashMap<>();

                            map.put("empName", "王昭君");

                            map.put("empSex", 0);

   3.Bean参数 

     如果多个参数正好是我们业务逻辑的数据模型,我们就可以直接传入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>

最新文章

  1. struts入门实例
  2. thinkphp实现单图片上传
  3. 关于json 与 Request Header 的Content-Type 一些关系。
  4. Eclipse 插件安装方法和插件加载失败解决办法
  5. 浅谈Objective-C异常处理
  6. Android:创建Android工程
  7. Java 可中断线程
  8. 在GitHub上创建上传下载开源项目代码
  9. Handlebars模板引擎渲染页面
  10. scala中的Type使用
  11. Eclipse 基础操作与设置
  12. AI历史和哲学基础浅谈
  13. php冒泡排序详解笔记
  14. ubuntu16.04 程序开机自启动设置及启动优化
  15. SpringCloud设定Feign底层实现
  16. mysql分区分表讲解
  17. 不同数据源之间的数据同步jdbc解决方案
  18. 桌面程序开发入门(WinForm with C#)
  19. 洛谷 P2751 [USACO4.2]工序安排Job Processing 解题报告
  20. MyBatis-Spring-Boot 使用总结

热门文章

  1. 隐藏"Input"标签默认样式
  2. easy-ui 中的事件触发 (tree)
  3. angular.isDate()
  4. vue全选反选demo
  5. [LeetCode] To Lower Case 转为小写
  6. Servlet.service() for servlet [jsp] in context with path [/Healthy_manager] threw exception [Unable to compile class for JSP] with root cause java.lang.IllegalArgumentException: Page directive: inval
  7. AppStore关键词覆盖法则标记
  8. 学习ActiveMQ(三):发布/订阅模式(topic)演示
  9. openLayers,常见地图实例
  10. Jmeter学习之--dubbo接口测试