mybatis parametertype 多个参数

2023-05-16

一、单个参数


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

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.iconPath  from TD_WEB_SYSSITE t  left join TD_MZ_MZDY t1 on t1.mzNum = t.siteTag and t1.mzType = 10  WHERE t.siteTag = #{siteTag }  and t.sysSiteId not in  <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">   #{item}  </foreach> </select>  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybatis parametertype 多个参数 的相关文章

  • 程序员的期望与现实

    来自 xff1a 程序员最幽默 xff08 ID xff1a humor1024 xff09 0 我期望的代码 VS 实际代码的工作方式 1 我认为我的代码 VS 项目经理看到的代码 2 我心里想做的架构 VS 我真正写出来的架构 3 开发
  • linux后台执行命令:&和nohup

    当我们在终端或控制台工作时 xff0c 可能不希望由于运行一个作业而占住了屏幕 xff0c 因为可能还有更重要的事情要做 xff0c 比如阅读电子邮件 对于密集访问磁盘的进程 xff0c 我们更希望它能够在每天的非负荷高峰时间段运行 例如凌
  • Java进阶书籍推荐

    学习Java xff0c 书籍是必不可少的学习工具之一 xff0c 尤其是对于自学者而言 废话不多说 xff0c 下边就给大家推荐一些Java进阶的好书 第一部分 xff1a Java语言篇 1 Java编程规范 适合对象 xff1a 初级
  • Linux开机关机执行脚本方法

    1 在 etc rc d init d 下创建脚本 xff0c 要遵守service script的标准 xff1b 例如 xff1a vi etc rc d init d gfs bin bash case 34 1 34 in rest
  • Ubuntu 出现apt-get: Package has no installation candidate问题

    今天在安装软件的时候出现了Package has no installation candidate的问题 xff0c 如 xff1a apt get install lt packagename gt Reading package li
  • 深度学习(2):DenseNet与图片文字识别

    目的 xff1a 基于深度学习算法DenseNet对图片进行文字识别 xff0c 即OCR转换为文字 xff0c 并将图片进行可视化输出 一 DenseNet算法 DenseNet的基本思路与ResNet一致 xff0c 但是它建立的是前面
  • 安装配置vscode

    远程Linux服务器越来越慢 换成vscode开发好了 xff0c 费时操作放在后台运行 xff0c 不影响前端界面 安装VSCode Visual Studio Code 离线安装扩展 先在 Extensions for Visual S
  • Postman传入date类型

    字符串输入格式 xff1a 2021 08 01 00 00 00 Date输入格式 xff1a 2019 09 09 11 20 20 插入到数据库中是DATE类型 xff1a 先获取到参数转为String类型 xff0c 在格式化为Da
  • 《Activity显示界面历险记》—说说View的那些理不清的关系

    前言 在Activity显示View的过程中 xff0c 有一些重要的角色总让人理不清 xff0c 比如PhoneWindow DecorView ViewRootImpl 也常常有面试题会问到 xff0c 他们四者之间的关系 xff1f
  • smartBi数据源连接与业务主题及七大数据集及透视分析与仪表盘四大分析展示经验总结

    smartBi经验总结 数据门户 电脑主题的资源发布后 xff0c 发布的资源可以在数据门户中看到 xff0c 数据门户界面包含 xff1a 首页 xff0c 报表展示目录 xff0c 报表展示明细资源 首页的设置在系统运维中 系统选项 公
  • java 中 Color类

    Color类 Color类是用来封装颜色的 xff0c 在上面的例子中多次用到 使用Color对象较为简单的方法是直接使用Color类提供的预定义的颜色 xff0c 像红色Color red 橙色Color orange等 xff1b 也可
  • C语言位运算符:与、或、异或、取反、左移和右移

    语言位运算符 xff1a 与 或 异或 取反 左移和右移 位运算是指按二进制进行的运算 在系统软件中 xff0c 常常需要处理二进制位的问题 C语言提供了6个位操作运算符 这些运算符只能用于整型操作数 xff0c 即只能用于带符号或无符号的
  • android 打开蓝牙设备 显示已经配对的蓝牙设备 ,并将已配对的蓝牙设备显示在textview中

    xff08 1 xff09 要想使用android 手机的Bluetooth xff0c 需要在androidmanifest文件中加入使用蓝牙的权限 lt uses permission android name 61 34 androi
  • iOS 7 点击按钮切换视图

    xff08 1 xff09 创建一个项目 xff0c 名字为切换视图 xff08 2 xff09 打开Main storyboard文件 xff0c 将视图中的ViewController视图控制器拖动到画布中 xff08 3 xff09
  • Javaweb 入门测试程序(jsp)

    关于进行jsp程序开发的入门测试小程序 xff08 1 xff09 必须的工具软件 java开发工具包jdk 需要进行环境变量的设置 xff0c 有Java开发基础的人这一步一看就懂 xff01 xff08 2 xff09 安装MyEcli
  • 自媒体平台运营的感悟

    1 关键是自媒体平台的定位 西游记中唐僧有着坚定的志向 西天取经 xff0c 普渡众生 抱着这样的初心和宗旨 xff0c 打造了自己的取经团队 一路上历经九九八十一难 xff0c 初心不改 xff0c 终于到达西天 xff0c 取得真经 x
  • 排序方法总结(1)冒泡排序 选择排序

    排序方法是一种基本的 重要的算法 xff0c 排序的方法有很多 xff0c 现把一些基本排序方法的算法和c 代码列出如下 xff0c 供大家思考 xff0c 借鉴 xff0c 进步 在进行排序之前首先要做的一件事就是选择排序的准则 xff0
  • 排序方法总结(2)插入排序

    插入排序 插入排序类和大家玩的纸牌游戏有些类似 xff0c 在发牌的过程的过程中用右手起的牌 xff0c 总是和左手里的排进行比较 xff0c 然后放在恰当的位置 这就是插入排序的思想 以数组为例 xff0c 其算法是 xff1a xff0
  • 关闭IDEA保存后自动添加空格

    IDEA保存后会给每行自动添加空格 xff0c 关闭这个功能
  • 排序方法总结(3)希尔排序

    希尔排序 希尔排序是对插入排序的改进 xff0c 对中等规模的数据排序效率较高 xff01 交换的次数变得少了 xff0c 效率就高了 希尔排序的算法 1 相距为 k 的数据进行比较 xff0c 若不符合排序的条件 xff0c 就进行交换

随机推荐

  • 求阶乘的几种方法

    求阶乘的几种方法 xff08 1 xff09 常规求阶乘 利用循环即可求出 include lt stdio h gt int main int m n i sum 61 1 printf 34 please input one numbe
  • C++sort函数的用法

    C 43 43 sort 函数的用法 近来看了c 43 43 标准库这本书 xff0c 学到了很多 xff0c 就把这其中的一点 C 43 43 sort 函数的用法写下来和大家分享吧 xff01 xff08 一 xff09 为什么要用c
  • Design Patterns Elements of Reusable Object-Oriented Software(一)Introduction(介绍)

    1 Introduction xff08 介绍 xff09 Designing object oriented software is hard and designing reusable object oriented software
  • 排序方法之堆排序

    堆排序的实现 xff08 xff09 创建初始堆 xff08 二 xff09 堆排序 在创建初始堆之前首先要了解一些关于堆的概念 xff0c 还需要了解一些关于平衡二叉树的内容 xff08 1 xff09 堆的节点数 61 n 2 并且是只
  • 使用yum命令在Linux下安装jdk8

    先查看centos下是否有自带的jdk rpm qa grep java 如果有 xff0c 先删除自带的jdk rpm e nodeps 接刚才查看其中带有openjdk的 删除完成 xff0c 使用yum命令安装 yum install
  • rk3588:串口波特率

    开发过程我们一般都需要看串口log协助分析 xff0c 以便分析对应的bug或者优化系统稳定性等问题 xff0c 那每个平台串口波特率都有可能有一定的出入 xff0c 不尽相同 xff0c 而RK3588默认串口波特率是1500000 xf
  • 一文懂交叉熵Cross-Entropy

    本文翻译自https naokishibuya medium com demystifying cross entropy e80e3ad54a8 交叉熵由交叉 xff08 Cross xff09 和熵 xff08 Entropy xff0
  • 数据库中的索引以及作用

    什么是索引 xff1f 答 xff1a 索引是对数据库表中一个或多个列 xff08 例如 xff0c employee 表的姓名 name 列 xff09 的值进行排序的结构 例如这样一个查询 xff1a select from table
  • 手把手教你实现window图片爬虫(一)

    第一篇 xff1a 爬虫设计思路及原理 刚听说爬虫时 xff0c 估计很多人觉得很神奇 xff0c 是什么赋予了它生命力做到在网络上到处爬取的呢 xff1f 等我说完你会恍然大悟 xff0c 其实并没有多高深的技术 xff0c 人人都可以写
  • IDEA PermGen space内存溢出

  • MySql/MariaDB 中文乱码问题

    今天装了MySql 发现换名字了啊 xff0c 结果用的时候出现了乱码 xff0c MariaDB会出现中文乱码 xff0c 解决方法 xff1a 1 xff09 查看数据库编码的方法 MariaDB itat hibernate gt s
  • Synchronized锁详解

    在Java中 xff0c synchronized锁可能是我们最早接触的锁了 xff0c 在 JDK1 5之前synchronized是一个重量级锁 xff0c 相对于juc包中的Lock xff0c synchronized显得比较笨重
  • Windows10开机自动启动VirtualBox(以无界面方式启动)-虚拟机

    以下操作 xff0c 亲测win10下可以开机自启动 xff0c 但未能实现以无界面方式启动 windows 开机启动 虚拟机 以无界面方式启动 桌面上出现了一个快捷方式 右键快捷方式 属性 在目标中添加 type headless 表示
  • ardupilot EKF3核心算法《EKF算法推导》

    目录 文章目录 目录 摘要 1 EKF算法推导 摘要 本节主要记录ardupilot EKF3核心算法 EKF算法推导 的过程 欢迎批评指正 1 EKF算法推导
  • java自带的注解@ PostConstruct

    java注解 64 PostConstructor 1 spring项目加载数据字典 64 PostConstruct注解的方法在项目启动的时候执行这个方法 xff0c 也可以理解为在spring容器启动的时候执行 xff0c 可作为一些数
  • 排序算法总结

    原文链接 https mp weixin qq com s HQg3BzzQfJXcWyltsgOfCQ 本文将采取动态图 43 文字描述 43 正确的java代码实现来讲解以下十大排序算法 xff1a 冒泡排序 选择排序 插入排序 希尔排
  • 关于rebase

    场景复现 xff1a 本来要在refund分支上的修改的代码 xff0c 结果由于分支太多写在了queue分支上 如何恢复queue分支到提交之前的版本 xff1f xff1f 1 git log 找到commitid 2 git rese
  • macOS big sur Navicat Premium12.1.15 无法正常启动

    提示信息 xff1a Navicat Premium 因为出现问题而无法打开 错误日志提示 Dyld Error Message dyld Using shared cache 1E362DBC F66C 3135 BCA0 C1BBAE1
  • H5活动页面遇到的坑+微信分享代码

    h5活动页面功能 xff1a 在手机上微信分享 1 上传两张图片 2 播放一个背景音乐 很简单是么 xff1f 那说明你知道的太少了 xff0c 其实里面的坑好多 一下是制作的心路历程 xff1a 坑1 iphone上传照片的时候 xff0
  • mybatis parametertype 多个参数

    一 单个参数 xff1a public List lt XXBean gt getXXBeanList 64 param 34 id 34 String id lt select id 61 34 getXXXBeanList 34 par