mybatis parametertype 多个参数

一、单个参数:

public List<XXBean> getXXBeanList(@param("id")String id);  <select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean">select t.* from tableName t where t.id= #{id}  </select>  其中方法名和ID一致,#{}中的参数名与方法中的参数名一致, 这里采用的是@Param这个参数,实际上@Param这个最后会被Mabatis封装为map类型的。select 后的字段列表要和bean中的属性名一致, 如果不一致的可以用 as 来补充。

二、多参数:

方案1

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

方案2(推荐)基于注解

public List<XXXBean> getXXXBeanList(@Param("id")String id, @Param("code")String code);  <select id="getXXXBeanList" resultType="XXBean">select t.* from tableName where id = #{id} and name = #{code}  </select>  由于是多参数那么就不能使用parameterType, 这里用@Param来指定哪一个

三、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') 

五、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");
 
  1. map.put("list", list); //网址id

  2. map.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 parametertype 多个参数相关推荐

  1. SSM之一点一滴:mybatis parameterType传入类型 resultType返回类型

    一.parameterType参数传入类型 概述: parameterType传入参数类型可以为int,String,Integer,Date,java实体类,map等,下面的用法中采用的是param ...

  2. MyBatis注解模式取参数方法

    2019独角兽企业重金招聘Python工程师标准>>> @Select("select count(*) from (select id from patrol_host ...

  3. MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法

    MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法 参考文章: (1)MyBatis多个接口参数报错:Avai ...

  4. Mybatis (ParameterType) 如何传递多个不同类型的参数

    问题 当在写查询语句的时候需要传入多个参数的时候该怎么办呢? 方法一:不需要写parameterType参数 //传参 public List<XXXBean> getXXXBeanLis ...

  5. Mybatis传递多个参数的4种方式

    现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate.使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数.面对各种复杂的业务场景,传递参数也是一种学问. ...

  6. MyBatis传入多个参数的问题 - mingyue1818

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

  7. MyBatis传入多个参数的问题

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

  8. mybatis传递多个参数_Mybatis传递多个参数的4种方式(干货)

    现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate.使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数.面对各种复杂的业务场景,传递参数也是一种学问. ...

  9. MyBatis 传递多个参数

    2019独角兽企业重金招聘Python工程师标准>>> 在MyBatis中可以用以下的方式来传递多个参数 1. 用java.util.Map来传递, Code 如下: public ...

最新文章

  1. 项目安排(离散化+DP)
  2. 【转】 Android新特性介绍,ConstraintLayout完全解析
  3. Bug人生---超越bug杀手
  4. 互联网日报 | 5月4日 星期二 | 水滴公司启动上市路演;蔚来汽车累计交付量突破10万里程碑;巴菲特透露接班人选
  5. oracle 结构化语言查询 DML DDL DCL
  6. springboot 添加 lombok 报错更新 版本号
  7. presentation编程软件_编程难学?web相关知识,跟着淼哥学php全栈之路6
  8. C语言在当代人工智能背景下的作用,人工智能对于当代社会的意义
  9. Binary Tree Paths(leetcode 257)
  10. Win7安装IE10或IE11 离线安装注意问题
  11. java开发spc分析软件,SPC、五大工具带你深入实战......OMG,收藏!
  12. Java面向对象编程——什么是面向对象
  13. 对计算机科学与技术专业的认识和思考,计算机科学和技术专业的认识和思考.doc...
  14. vue项目中使用思维导图mindmap
  15. 安全问题层出不穷 加密手机悄然兴起
  16. listview距离顶端白边
  17. 计算机类专业知识pdf,事业单位计算机专业知识整理(全)(20210324075052).pdf
  18. 不动点迭代(Fixed Point Iteration)
  19. AcWing 3725. 卖罐头 有意思的数学推导 思维
  20. Codeforces Round #540 (Div. 3) Coffee and Coursework

热门文章

  1. 使用HTML5开发手机离线应用
  2. 国外PHP学习网站书籍资料汇总
  3. js如何判断是否在iframe中及防止网页被别站用 iframe嵌套 (Load denied by X-Frame-Options)...
  4. FullCalendar 四:FullCalendar应用——新建日程事件
  5. 爬虫入门二(urllib,urllib2)
  6. LeetCode 524. Longest Word in Dictionary through Deleting
  7. JVM——字符串常量池详解
  8. 【C++深入探索】Copy-and-swap idiom详解和实现安全自我赋值
  9. mysql的优化-添加环境变量启动服务
  10. SQLServer 数据库主体在该数据库中拥有 架构,无法删除解决方法