MyBatis的mapper接口不需要自己实现,框架会自动帮我们实现,到时候直接调用就可以了。定义的mapper接口中的方法可以有多个参数 吗?答案是肯定。在Ibatis时代是自己通过代码实现如何调用xml中定义的statement,接受的参数只能是一个,所以处理的办法通常是用Map 的方式。当然这个也能使用在MyBatis上,不过MyBatis提供更加简单的方法。下面就通过例子来说明。

Mapper接口

public interface TestMapper {Object meth1(String para1, String para2);/*** p1、p2可以是任何合法的java命名方式* xml中可以根据此标示来获取到具体传入的值*/Object meth2(@Param("p1")String para1, @Param("p2")String para2);
}

mapper.xml

     <select id="meth1" resultType="int">select count(*) from testwhere col1 = #{0}and clo2 = #{1}</select><select id="meth2" resultType="int">select count(*) from testwhere col1 = #{p1}and clo2 = #{p2}</select>

上述两种方法都行的通,上述statement中不需要指定parameterType。如果不使用 @Param注解方式,那么可以通过#{0}、#{1}的方式来获取参数的值,注意function中的第一个参数是0;使用了注解就按注解中定义的名字 来取。推荐使用注解的方式。在方法重构时,例如增加、减少或调整参数的顺序,如果使用非注解的方式,在修改xml时就显得比较麻烦,可能里面 的${0}、${1}、${2}都需要调整,而且不明确,特别是参数较多的情况下。

转载于:https://www.cnblogs.com/jimmyChou/p/4242449.html

MyBatis 多参数传递相关推荐

  1. MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三

    前面的文章介绍了MyBatis多参数传递的注解.参数默认命名等方式,今天介绍Map的方式.仍然以前面的分页查询教师信息的方法findTeacherByPage为例(示例源代码下载地址:http://d ...

  2. MyBatis多参数传递之混合方式——MyBatis学习笔记之十五

    在本系列文章的<MyBatis多参数传递之Map方式示例>一文中,网友mashiguang提问如下的方法如何传递参数:public List findStudents(Map condit ...

  3. MyBatis的参数传递

    MyBatis的参数传递 主要参考代码: BookMapper: BookMapper.xml: demo2: 运行结果展示: 数据库/数据表: Book getById(Integer bookId ...

  4. MyBatis:参数传递 [转]

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  5. MyBatis多参数传递之注解方式示例--转

    原文地址:http://legend2011.blog.51cto.com/3018495/1015003 若映射器中的方法只有一个参数,则在对应的SQL语句中,可以采用#{参数名}的方式来引用此参数 ...

  6. 6、SpringBoot+Mybatis整合------参数传递

    开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis/tree/7892801d804d2060774f3720f8 ...

  7. Java SSM框架之MyBatis3(六)MyBatis之参数传递

    一.单个参数  StudentParamsMapper package cn.cnki.ref.mapper;import cn.cnki.ref.pojo.Student;public interf ...

  8. mybatis的标签以及参数传递

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyBatis可以使用简单的XML或注解 ...

  9. MyBatis中如何通过继承SqlSessionDaoSupport来编写DAO(二)

    (本文示例工程源代码下载地址:http://down.51cto.com/data/1975295) 在上一篇博文的最后,介绍了使用@PostConstruct注解标注StudentDao的init方 ...

最新文章

  1. 车辆匹配和平均车速计算
  2. 一次搞定OpenCV源码及扩展模块的编译与环境配置
  3. 【c语言】简单计算器
  4. Validation-jQuery表单验证插件使用方法
  5. MacOS安装react。问题 -- npm全局包的权限问题
  6. PyVmomi 初体验
  7. java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...
  8. C++:34---union:联合/共用体,一种节省空间的类
  9. ubuntu虚拟机和主机互ping及secureCRT使用
  10. 信息学奥赛一本通 2027:【例4.13】三角形
  11. 15、Web安全测试之XSS
  12. WebDAV 是什么
  13. 音乐文件加密歌曲转换器mp3
  14. 怎样去提高效率,五步优化法
  15. 【设置版本号】React Native 通过配置文件package.json设置 Android安卓和iOS版本号
  16. ssm人力资源考勤系统
  17. Skywalking UI使用攻略
  18. 哪个CMS建站系统更利于seo优化
  19. Acwing 823.排列
  20. leetcode-递增的三元子序列推广到递增的X元子序列

热门文章

  1. git stash pop冲突_这有一份 git 日常使用清单,你需要吗?
  2. 感恩工作平台心得体会_感恩有你,一路同行——石龙联社组织举办10月份员工集体生日会...
  3. java图片不动了_JDK 12又来了,我学不动了...
  4. 超实用!VLAN、TRUNK、VLAN间路由基础
  5. 下列哪些是java语言的条件执行语句_13春福师《JAVA程序设计》在线作业二
  6. nacos 本地测试_一文详解 Nacos 高可用特性
  7. c++中的引用和python中的引用_对比 C++ 和 Python,谈谈指针与引用
  8. eslint git提交不上_Git常用命令及日常问题集锦
  9. linux访问文档根目录之外的网页_开发文档加载不再卡顿,亿点点提升
  10. 手机投电脑_这七个电脑软件,用过的才知道多好用!