MyBatis传入多个参数的问题

转载自  MyBatis传入多个参数的问题

一、单个参数:

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

老司机实战Windows Server Docker:5 Windows Server Dockerfile葵花宝典

前面两篇&#xff08;简单运维1、简单运维2&#xff09;介绍了一些Windows Server Docker相关的基本运维知识。今天这一篇&#xff0c;Windows Server Dockerfile葵花宝典&#xff0c;涵盖了许多典型场景的Windows Server下的Dockerfile实例&#xff0c;并且每一个都包含可直接…

2020蓝桥杯省赛---java---B---2(寻找 2020)+测试txt

题目描述 text 0020000002202020002220002022002222202022020200022200020200222022002202202020020022200202000000002200222002022220222202220000222202200200202220200222200222202200000220220020202200022002200200200222000202220202002000000202200200220022020002022…

用一年的时间,依靠SEO创造一个成功的网站

以下内容是一位SEO前辈&#xff08;站长世界的创始人Brett Tabke&#xff09;写的&#xff0c;这篇文章在我最初学习SEO时&#xff0c;深刻得影响了我&#xff0c;给我了足够的自信。希望对你也有所帮助。 a)准备工作和建立内容。      在你注册域名之前&#xff0c;你就应…

Mybatis传入参数类型为Map

转载自 Mybatis传入参数类型为Map mybatis更新sql语句&#xff1a; <update id"publishT00_notice" parameterType"Map"> update test set createdate #{createdate}, creator #{creator} where id in <foreach collection"ids"…

android merge的作用,Android学习手记-merge

为什么用merge&#xff1a;标签的作用是合并UI布局&#xff0c;使用该标签能降低UI布局的嵌套层次。该标签的主要使用场景主要包括两个&#xff0c;第一是当xml文件的根布局是 FrameLayout时&#xff0c;可以用merge作为根节点。理由是因为Activity的内容布局中&#xff0c;默认…

新起点!新征程!

好久没有更新公众号了&#xff0c;其一是因为最近这段时间有点“忙”&#xff08;迫于其他原因&#xff0c;目前包括本公众号一共运营4个公众号&#xff0c;精力不充沛&#xff09;&#xff0c;其次就是犯了懒病不想动。其中博客中也没有更新比较有质量的博文了。感觉自己堕落颓…

2020蓝桥杯省赛---java---B---3(蛇形填数)

题目描述 思路分析 找规律 看对角线 1481216 代码实现 package TEST;public class Main {public static void main(String[] args) {int res 1, t 4;for(int i2; i<20; i) {res t;t 4;//1481216}System.out.println(res); //761}}答案 761

linux微信公众号报警,zabbix报警媒介,微信报警,邮件报警

微信报警首先要申请微信企业公众号&#xff0c;创建相应应用&#xff0c;然后进行配置微信企业公众号申请&#xff0c;目前可免费前往该地址进行申请注册过程很简单&#xff0c;不信你试然后进行企业公众号的基础设置服务端报警微信脚本[rootbogon alertscripts]# pwd/usr/loca…

Mybatis传多个参数(三种解决方案)

转载自 Mybatis传多个参数&#xff08;三种解决方案&#xff09; 据我目前接触到的传多个参数的方案有三种。 第一种方案 DAO层的函数方法 public User selectUser(String name,String area); 对应的Mapper.xml <select id"selectUser" resultMap&quo…

色彩调整与校正

一、Photoshop中所有关于色彩调整的功能都在 图像–》调整子菜单中。 二、色阶&#xff1a; 1.图像–》调整–》色阶 2.快捷键&#xff1a;ctrll 3.设置白场点黑色全变白&#xff0c;设置黑场点白色全变黑 4.设置红绿蓝通道&#xff1a; 1)红通道黑场滑块往右拖&#xff0c;蓝绿…

编写高效率的C#代码

周末空闲&#xff0c;选读了一下一本很不错的C#语言使用的书&#xff0c;特此记载下便于对项目代码进行重构和优化时查看。 Standing On Shoulders of Giants&#xff0c;附上思维导图&#xff0c;其中标记的颜色越深表示在实际中的实际意义越大。 名称内容和示例提供API时尽量…

2020蓝桥杯省赛---java---B---1(门牌制作)

题目描述 代码实现 package TEST;public class Main {public static void main(String[] args) {int sum0;for (int i 0; i < 2020; i) {int tempi;while (temp>0){if(temp%102){sum;}temp/10;}}System.out.println(sum);} }答案 624

图层与蒙版

一、图层&#xff1a; 1.图层可以比作是透明的像素薄片 2.除背景层之外&#xff0c;其他图层可以任意堆叠 3.图层通常分为背景图层、普通图层、文字图层、蒙版图层、矢量蒙版图层、形状图层、填充/调整图层。 4.视图–》窗口–》图层 5.快捷键&#xff1a;f7 6.图层的调整顺序&…

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

转载自 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件 Mybatis属于半自动ORM&#xff0c;在使用这个框架中&#xff0c;工作量最大的就是书写Mapping的映射文件&#xff0c;由于手动书写很容易出错&#xff0c;我们可以利用Mybatis-Generator来帮我们自动生成文…

android拦截短信获取短信内容,《英雄联盟手游》先锋测试招募说明:仅安卓用户...

招募时间&#xff1a;5月10日~5月17日测试开始时间&#xff1a;预计5月下旬或6月上旬招募(体验)要求&#xff1a;1、测试期间有较长时间可投入游戏体验&#xff1b;2、能够积极反馈和表达自己的游戏体验感受&#xff1b;3、需提前完成招募问卷(最终是否获取资格需筛选后确认)。…

ASP.NET Core MVC 源码学习:详解 Action 的匹配

前言 在 上一篇 文章中&#xff0c;我们已经学习了 ASP.NET Core MVC 的启动流程&#xff0c;那么 MVC 在启动了之后&#xff0c;当请求到达过来的时候&#xff0c;它是怎么样处理的呢&#xff1f; 又是怎么样把我们的请求准确的传达到我们的 Action 上呢&#xff1f; 那么&am…

win10偶尔打不开开始菜单(按win键和点击开始菜单都没反应)

像我这种桌面上一个图标都没有的。习惯把所有的应用程序放在开始菜单里面&#xff0c;但是……最近发现点击开始菜单或者按win键的时候召唤不出来开始菜单&#xff0c;怎么都出不来&#xff0c;怎么办&#xff1f;&#xff1f;&#xff1f;难道只有重启电脑来解决吗&#xff1f…

android下raw目录的作用,Android 之 assets目录和raw目录

Android 中存在assets目录和raw目录&#xff0c;它们既有相似之处又有所不同。一、共同点&#xff1a;目录下的资源会被原封不动的拷贝到APK中&#xff0c;而不会像其它资源文件那样被编译成二进制的形式。二、区别1、最直观的就是获取它们的 InputStream 的API不一样。获取ass…

Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题

转载自 Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题 使用Mybatis的时候&#xff0c;有些时候能输出&#xff08;主要是指sql&#xff0c;参数&#xff0c;结果&#xff09;日志。有些时候就不能。 无法输出日志的时候&#xff0c;无论怎么配置log4j&#xff0c;…

2019蓝桥杯省赛---java---C---9(等差数列)

题目描述 代码实现 package TEST;import java.util.Arrays; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int nscanner.nextInt();int[] arrnew int[n];for (int i 0; i < n; i) {arr…