一、单个参数:

public List<XXBean> getXXBeanList(String xxCode);  <select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean">select t.* from tableName t where t.id= #{id}  </select>  其中方法名和ID一致,#{}中的参数名与方法中的参数名一直, 我这里采用的是XXXBean是采用的短名字,select 后的字段列表要和bean中的属性名一致, 如果不一致的可以用 as 来补充。

二、多参数:

public List<XXXBean> getXXXBeanList(String xxId, String xxCode);  <select id="getXXXBeanList" resultType="XXBean">select t.* from tableName where id = #{0} and name = #{1}  </select>  由于是多参数那么就不能使用parameterType, 改用#{index}是第几个就用第几个的索引,索引从0开始

三、Map封装多参数:

public List<XXXBean> getXXXBeanList(HashMap map);  <select id="getXXXBeanList" parameterType="hashmap" resultType="XXBean">select 字段... from XXX where id=#{xxId} code = #{xxCode}  </select>  其中hashmap是mybatis自己配置好的直接使用就行。map中key的名字是那个就在#{}使用那个,map如何封装就不用了我说了吧。 

 四、List封装in:

public List<XXXBean> getXXXBeanList(List<String> list);  <select id="getXXXBeanList" resultType="XXBean">select 字段... from XXX where id in<foreach item="item" index="index" collection="list" open="(" separator="," close=")">  #{item}  </foreach>
</select>  foreach 最后的效果是select 字段... from XXX where id in ('1','2','3','4') 

五、多参数传递之注解方式示:

例子:public AddrInfo getAddrInfo(@Param("corpId")int corpId, @Param("addrId")int addrId);xml配置这样写:<select id="getAddrInfo"  resultMap="com.xxx.xxx.AddrInfo">SELECT * FROM addr__info     where addr_id=#{addrId} and corp_id=#{corpId}
</select>以前在<select>语句中要带parameterType的,现在可以不要这样写。

六、selectList()只能传递一个参数,但实际所需参数既要包含String类型,又要包含List类型时的处理方法:

将参数放入Map,再取出Map中的List遍历。如下:

List<String> list_3 = new ArrayList<String>();Map<String, Object> map2 = new HashMap<String, Object>();
list.add("1");
list.add("2");
map2.put("list", list); //网址id

map2.put("siteTag", "0");//网址类型

public List<SysWeb> getSysInfo(Map<String, Object> map2) {return getSqlSession().selectList("sysweb.getSysInfo", map2);
}

<select id="getSysInfo" parameterType="java.util.Map" resultType="SysWeb">select t.sysSiteId, t.siteName, t1.mzNum as siteTagNum, t1.mzName as siteTag, t.url, t.iconPathfrom TD_WEB_SYSSITE tleft join TD_MZ_MZDY t1 on t1.mzNum = t.siteTag and t1.mzType = 10WHERE t.siteTag = #{siteTag } and t.sysSiteId not in <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">#{item}</foreach></select>

MyBatis:参数传递 [转]相关推荐

  1. Mybatis参数传递及返回类型

    mybatis参数传递: 单个参数:不做特殊处理         #{参数名}:取出参数值     多个参数:做特殊处理         多个参数会被封装成一个map             key: ...

  2. Mybatis - MyBatis注解开发SQL举例,以及MyBatis参数传递的一些概念

    文章目录 MyBaits参数传递 单个参数 多个参数 注解开发 注解完成增删改查 提示 简单举例 编写接口方法 编写测试方法 MyBaits参数传递 MyBatis接口方法中可以接收各种各样的参数,M ...

  3. MyBatis研习录(07)——MyBatis参数传递

    C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往--自定义View ...

  4. Mybatis参数传递5种方式

    1.单个参数 可以接受基本类型,对象类型,集合类型的值.这种情况MyBatis可直接使用这个参数,不需要经过任何处理. <!-- 根据id查询数据表中的一条记录,并封装User对象 --> ...

  5. Mybatis实战练习六【批量删除Mybatis参数传递】

    目录

  6. mybatis参数传递

    1.单参传递 PersonMapper: public void deletePerson(Integer id); Mapper.xml: ​ <delete id="deleteP ...

  7. JavaWeb学习之路——SSM框架之Mybatis(三)

    数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...

  8. MyBatis快速上手与知识点总结

    目录 阅读提示: 本文默认已经预装预装maven 1.MyBatis概述 1.1 MyBatis概述 持久层框架,用于简化JDBC开发,是对JDBC的封装 持久层: 负责将数据保存到数据库的代码部分 ...

  9. MyBatis快速上手与知识总结

    原文地址: https://www.cnblogs.com/dandelion-000-blog/p/16636393.html 文章目录 @[toc] 1.MyBatis概述 1.1 MyBatis ...

  10. 我的MyBatis学习之路

    文章目录 MyBatis MyBatis入门 1.持久层(Persistence Layer) 2.什么是框架(Framwrok) 2.1.使用框架的好处 2.2 .常用的基于JavaEE的三大开源框 ...

最新文章

  1. 图解YARN--大数据平台技术栈17
  2. 三代测序关键计算技术开发及应用
  3. win10安装jdk1.8
  4. 全球及中国防褥疮充气垫行业投资前景展望与“十四五”发展规划建议报告2021年版
  5. CSS3学习之 animation 属性
  6. Visual Studio 2010中添加App_Code文件夹注意事项
  7. glove中文词向量_Summary系列glove模型解读
  8. 8软件遇到的问题及解决方法_Excel工作表中的8个常见问题,你一定遇到过,附解决方法...
  9. python代码覆盖率测试_unittest+coverage单元测试代码覆盖操作实例详解_python
  10. 报错:Unchecked runtime.lastError:Could not establish connection. Receiving end does not exist.
  11. Confluence 6 修改日志文件的大小数量和级别
  12. 如何利用OUTLOOK提高你的工作效率
  13. 深度学习14-实战三-Google涂鸦识别挑战项目(上)
  14. Linux中线程使用详解
  15. tinymce的中文语言包
  16. MSP430指令初探
  17. day 22 内置的模块
  18. 为什么要处理自然语言? | NLP基础
  19. 曾国藩家书-修身篇 致诸弟·明师益友虚心请教
  20. dedecms中[field:imglink/]图片大小问题解决办法

热门文章

  1. python2.7爬虫实例-用案例让你一文搞懂python网络爬虫
  2. python的用途-Python运算符的作用与意义
  3. 零基础学编程学java还是python-学编程选Python还是Java?就业发展哪个好?
  4. spring中environment设计与实现
  5. LeetCode Partition List(链表分段)
  6. 58同城沈剑:好的架构源于不停地衍变,而非设计
  7. 浅谈网络游戏《天龙X部》的文件加密格式
  8. pc端常见布局样式总结(针对常见的)
  9. 廖雪峰Java2面向对象编程-4抽象类和接口-1抽象类
  10. eclipse如何使用log4j详解,你get了吗???