案例一:条件查询+分页操作
pojo类(作用:多参数传递)

 public class PageParams { private int start ; private int limit; /*******setter and getter*********/
}

接口方法
传递一个pojo类及另外参数
可用一个pojo类来代替,mapper中相应sql加判断参数非空

public List<Role> findByMix (@Param ("params") Role role,
@Param ("page") PageParams pageParams) ;

mapper.xml

<select id=" findByMix" resultType="role" >select id,role_name as roleName ,note from t_role where role_name like concat ('%', #{params.roleName},'%')and note like concat('%', #{params.note},'%')limit #{page.start},#{page.limit}
</select>

案例二:多条件查询角色数据

<select id="selectByParams" parameterType="map" resultType="map" >select role_id as roleId,role_code as roleCode,role_name as roleName,status,sys_create_user as sysCreateUser,sys_create_time as sysCreateTime,sys_update_user as sysUpdateUser,sys_update_time as sysUpdateTime,remarksfrom<include refid="Base_Table_Name" /><where><trim prefix="(" suffix=")" suffixOverrides="and|or"><if test="roleName != null and roleName != '' "><![CDATA[ role_name like CONCAT('%', #{roleName,jdbcType=VARCHAR}, '%') and  ]]></if><if test="roleCode != null and roleCode != '' "><![CDATA[ role_code like CONCAT('%', #{roleCode,jdbcType=VARCHAR}, '%') and  ]]></if><if test="status != null and status != '' "><![CDATA[ status = #{status,jdbcType=VARCHAR} and  ]]></if></trim></where></select>

标签的使用见https://blog.csdn.net/xiangwang2016
CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

在 XML 元素中,"<" 和 “&” 是非法的。

“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。

“&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。

某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束:

如果文本包含了很多的"<“字符 <=和”&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。

mybatis中concat的用法相关推荐

  1. Mybatis中的foreach用法

    Mybatis中的foreach用法 目录 Mybatis中的foreach用法 元素属性 List对象集合查询 根据数组中的Id删除 update修改 元素属性 item: 集合中元素迭代时的别名, ...

  2. 关于mybatis中selectKey的用法

    在使用MyBatis插入数据进入数据库的时候会用到sequence序列来生成自增的id 这时可以使用selectKey就可以得到sequence的值,同时也会将值返回.不过对于不同的数据库有不同的操作 ...

  3. python中concat的用法_pandas中concat()的用法

    pandas.concat()通常用来连接DataFrame对象.默认情况下是对两个DataFrame对象进行纵向连接, 当然通过设置参数,也可以通过它实现DataFrame对象的横向连接. 让我们通 ...

  4. MySQL中CONCAT()函数用法详解

    需求:需要将将俩字符串拼接在一起 1.MySQL中CONCAT()函数拼接字符串 CONCAT(str,str2,str3...) 可以将两个或者多个参数拼接在一起 注意事项: ①返回结果为连接参数产 ...

  5. MyBatis中foreach元素用法解析

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/70946761冷血之心的博客)          动态SQL是MyB ...

  6. Mybatis 中 selectKey的用法

    大家好,我们今天来看下mysql中selectKey的用法. selectKey返回最近一次插入的id 返回自增ID <selectKey resultType="java.lang. ...

  7. mybatis 中 if else 用法

    mybaits 中没有 else 要用 chose when otherwise 代替 下面就是MyBatis中的if....else...表示方法 <choose><when te ...

  8. Mybatis中parameterType的用法

    在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 ...

  9. Mybatis中的association用法

    这篇文章我们将来学习一些 association 用法 表结构 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` int(11 ...

最新文章

  1. Windows Server 2012 R2 WSUS-13:部署二级WSUS
  2. C# 分支语句 练习题(中间变量,随机数)
  3. 041_Popover弹出框
  4. PyTorch nn.Module 一些疑问
  5. 2016年第一堂课课后作业1
  6. elastic-job 的简单使用
  7. java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets (jsoup配合htmlunit 爬取异步加载的网页遇到的)
  8. oracle快捷语句框架中,Oracle框架:PL/SQL编程:
  9. SequoiaDB 系列源码分析调整
  10. CentOS 安装gnutls
  11. SBM延迟飙升mysql_Mysql解决主从慢同步问题
  12. 2018大学计算机答案,2018年大学计算机基础试题及答案
  13. 给定一个净值序列,计算年化收益、最大回撤、夏普比率
  14. Python基于机器视觉的图像风格迁移
  15. LocalDateTime类对时间的处理
  16. web前端开发期末大作业 ——个人主页(可自取源码)
  17. 解决fileReader读取文件乱码
  18. python图片水印
  19. Origin作向下柱状图
  20. 菜鸟学习c++—实现学生登陆管理系统

热门文章

  1. 如何使柱状图左右展示_关于微生物门类堆叠柱状图,你知道的并不够
  2. Java 跑酷游戏 rush,翻转跑酷游戏安卓下载|翻转跑酷最新版(Flip Rush)下载v1.0.5-乐游网安卓下载...
  3. 用装饰器来进行登录验证
  4. Day2-运算符和编码
  5. 201521123004 《Java程序设计》第2周学习总结
  6. 零散的JavaScript公用方法
  7. GNU make manual 翻译( 一百二十四)
  8. SQL书写规则30例
  9. const和readonly区别
  10. 关于浮点数的问题,我再做一个字体设置的时候总有问题,现在看了这个文章,受到了启发...