mybatis中sql语句传入多个参数方法

1 使用map

<select id="selectRole" parameterType="map" resultType="RoleMap">SELECT id, roleName, noteFROM roleWHERE roleName LIKE Concat('%',#{roleName},'%')and note like Concat('%',#{note},'%')</select>

在接口中如下定义

List<Role> selectRole(Map map);

说明:这种方法简单易用,弊端是业务关联性不强,查看参数需要查看代码,可读性下降。

 

2 使用注解传递参数

xml文件中定义sql语句如下

<select id="findRoleByAnnotation" resultType="roleMap">SELECT id, roleName, noteFROM roleWHERE roleName LIKE Concat('%',#{roleName},'%')and note like Concat('%',#{note},'%')</select>

接口如下

List<Role> findRoleByAnnotation(@Param("roleName") String rolename, @Param("note") String note);

说明:通过@Param 提供的名称mybatis就知道 #{roleName} 代表 rolename 。参数可读性大大提高了。适用于参数数量较少的情况。如果参数数量过多,推荐使用javabean方式。

 

3 在参数过多的情况下,使用 javabean 传递参数

参数类RoleParam

public class RoleParam {private String roleName;private String note;public String getRoleName() {return roleName;}public void setRoleName(String roleName) {this.roleName = roleName;}public String getNote() {return note;}public void setNote(String note) {this.note = note;}
}

xml文件查询sql

<select id="findByJavaBean" resultType="roleMap" parameterType="com.huitong.service.command.RoleParam">SELECT id, roleName, noteFROM roleWHERE roleName LIKE Concat('%',#{roleName},'%')and note like Concat('%',#{note},'%')</select>

接口文件中

List<Role> findByJavaBean(RoleParam roleparam);

说明:当参数个数多于5个时,推荐使用javabean方式。

 

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

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

相关文章

kotlin半生对象_Kotlin程序| 随播对象特征

kotlin半生对象伴侣对象 (Companion object) If you need a function or a property to be tied to a class rather than to instances of it (similar to static in java), you can declare it inside a companion object: 如果需要将函数或属性绑定到类而不是实例(类似于java…

mysql安装注意步骤,mysql安装步骤

mysql安装步骤1、在官网下载对应的压缩文件&#xff0c;放到本地文件夹下&#xff0c;解压缩。2、配置Path环境变量&#xff1a;新增mysql的bin文件夹路径&#xff0c;C:\software\mysql-8.0.23-winx64\bin。3、在mysql根目录下新增my.ini配置文件。内容如下&#xff0c;basedi…

maven插件介绍之tomcat7-maven-plugin

tomcat7-maven-plugin插件的pom.xml依赖为&#xff1a; <dependency><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version> </dependency>一&#xff1a;直接执行…

在Python中模拟do-while循环

Python as a language doesnt support the do-while loop. However, we can have a workaround to emulate the do-while loop. Python作为一种语言不支持do-while循环。 但是&#xff0c;我们可以采用一种变通方法来模拟do-while循环 。 The syntax for do-while is as follo…

织梦cms生成首页html的php文件,织梦DedeCMS定时自动生成首页HTML的实现方法

只需要制作一个文件然后在首页模板添加一句代码就可以实现让织梦DedeCMS自动生成首页html&#xff0c;具体方法如下&#xff1a;第一步、需要在首页调用随机文章&#xff0c;这样每次自动更新才会有更新的效果&#xff0c;随机文章调用标签如下&#xff1a;{dede:arclist sortr…

Linux下安装Flume

1 下载Flume Welcome to Apache Flume — Apache Flume 下载1.9.0版本 2 上传服务器并解压安装 3 删除lib目录下的guava-11.0.2.jar &#xff08;如同服务器安装了hadoop&#xff0c;则删除&#xff0c;如没有安装hadoop则保留这个文件&#xff0c;否则无法启动flume&#…

Apple新发布的APFS文件系统对用户意味着什么

2016年WWDC大会上&#xff0c;Apple除了公布watchOS、tvOS、macOS以及iOS等一系列系统和软件更新外&#xff0c;还公布了一个名为APFS&#xff08;Apple File System&#xff09;的文件系统。 这一全新文件系统专门针对闪存/SSD进行优化&#xff08;但依然可用于传统机械硬盘&a…

chown –r mysql:mysql,mysql部署,操作及异常处理

1、将mysql-5.1.50-linux-x86_64-glibc23.tar.gz移至/usr/local/目录下&#xff0c;并改名为mysql增加mysql组#groupadd mysql建mysql用户&#xff0c;并加入到mysql组中#useradd –g mysql mysql源码包解压#tar mysql-5.1.50-linux-x86_64-glibc23.tar.gz将解压后的源码包放置…

光伏等新能源信用风险事件频繁爆发

2016年以来&#xff0c;伴随着供给侧改革相关政策陆续出台和落地&#xff0c;去产能、去杠杆诱发信用风险事件陆续爆出。而在“11天威NTN1”、“15云峰PPN001”及“15云峰PPN003”等信用风险事件上&#xff0c;大股东“弃车保帅”行为再现&#xff0c;令本就失去造血能力的企业…

ruby array_Ruby中带有示例的Array.zip()方法

ruby arrayArray.zip()方法 (Array.zip() Method) In this article, we will study about Array.zip() Method. You all must be thinking the method must be doing something which is related to zipping values of the Array instance. It is not as simple as it looks. W…

matlab中迪杰斯特拉算法,dijkstra算法(迪杰斯特拉算法)

单源最短路径算法——Dijkstra算法&lpar;迪杰斯特拉算法&rpar;一 综述 Dijkstra算法(迪杰斯特拉算法)主要是用于求解有向图中单源最短路径问题.其本质是基于贪心策略的(具体见下文).其基本原理如下: (1)初始化:集合vertex_set初始为{sourc ...Dijkstra【迪杰斯特拉算法…

关于概率算法的问题,不知道逻辑错在哪里,求debug

做个骰子成功几率的分析&#xff0c;投n颗骰子&#xff0c;第一次投成功的几率是a,然后投成功的骰子&#xff0c;需要再投1次&#xff0c;这次成功的几率是b。第二次成功的骰子才算最终成功。 要分析出n颗骰子&#xff0c;最终成功0到n颗的概率。 我写了个算法&#xff0c;求出…

tps 交易量_交易处理系统(TPS)

tps 交易量A transaction is a simple process that takes place during business operations. The transaction processing system (TPS) manages the business transactions of the client and therefore helps a companys operations. A TPS registers, as well as all of i…

matlab for循环不覆盖,将输出保存到文本文件而不覆盖和打印矩阵中的N个条目[matlab]...

这是代码&#xff1a;for i 1:4;fileID fopen(testdata.txt, at);fprintf(fileID, this is answer %d\n,i);fprintf(fileID, %5.3e\n, v{i});fclose(fileID);end在记事本中回答&#xff1a;this is answer 11.000e0001.000e0001.000e0001.000e0001.000e0001.000e0000.000e0001…

(转)Redis研究(一)—简介

http://blog.csdn.net/wtyvhreal/article/details/41855327 Redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求&#xff0c;并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。 1.1历史和发展 2008年&#xff0c;意…

c bitset get_Java BitSet get()方法与示例

c bitset getBitSet类的get()方法 (BitSet Class get() method) Syntax: 句法&#xff1a; public boolean get(int bit_in);public BitSet get(int st_in, int en_in);get() method is available in java.util package. get()方法在java.util包中可用。 get(int bit_in) meth…

有扰动的闭环传递函数 matlab,(d)闭环系统的误差传递函数.PPT

(d)闭环系统的误差传递函数3. 控制系统的方框图模型 若已知控制系统的方框图,使用MATLAB函数可实现方框图转换。 a).串联 如图所示G1(s)和G2(s)相串联,在MATLAB中可用串联函数series( )来求G1(s)G2(s),其调用格式为 [num,den]series(num1,den1,num2,den2) 其中&#xff1a; b)并…

CYQ.Data 轻量数据层之路 自定义MDataTable绑定续章(七)

本章起&#xff0c;将续章讲解整框架当初的设计思路&#xff1a; 本章既为续章&#xff0c;说明我以前写过&#xff0c;是的&#xff0c;以前我写过内部整个MDataTable的构造&#xff0c;不过&#xff0c;当初匆匆写完后&#xff0c; 最后一步的实现MDataTable绑定GridView/Dat…

php 文字超出画布,input实现文字超出省略号(代码示例)

本篇文章给大家带来的内容是关于input实现文字超出省略号(代码示例)&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。input实现文字省略号功能普通元素实现文字超出宽度自动变成省略号非常简单&#xff0c;给元素加个宽度&…

c++ stl stack_C ++ STL中的stack :: top()函数

c stl stackPrototype: 原型&#xff1a; stack<T> st; //declarationT st.top();Parameter: 参数&#xff1a; No parameter passedReturn type: T //data type 返回类型&#xff1a; T //数据类型 Header file to be included: 包含的头文件&#xff1a; #include …