单条件查询

用select查询数据时,如果需要用户传入的参数只有一个时,可以直接在接口代理方法中设置一个参数:

如上图的selectById(int id)方法,定义好方法后需要在对应的映射文件中写上对应的SQL语句

只需要将对应的参数名传入#{}中即可实现插入参数,还有一种方法是将#改成$,这两个的区别在于:$代表的是先拼接字符串,再对SQL进行编译,而#则是先预编译SQL语句,再传入参数的值,这样可以防止字符串拼接时的SQL注入问题,具体可看我的另一篇文章
JDBC解决SQL注入问题

多条件查询

当查询语句需要用户传入多个参数时,映射文件中的参数传入方式和上面一致

而在声明代理接口方法时,则有三种方法:

  • 散装参数传入:
    List<Brand> selectByParams(@Param("id")int id,@Param("companyName")String companyName);

在传入参数时需要在每一个参数前加上@Param修饰,且参数名须和映射文件参数名一致

  • 对象参数传入:
    List<Brand> selectByParams(Brand brand);

像这样以对象作为参数时,只需要在使用该方法时,将所有参数封装到一个实例对象中即可,必须保证对象属性名和映射文件参数名一致

  • Map参数传入:
 List<Brand> selectByParams(Map map);

传入一个封装所有参数的map对象,将键为参数名,必须保证键名在映射文件中的参数名一致


注意当编写SQL语句时,如果条件中出现<等符号,由于在xml文件中中<>表示标签,因此单个<符号会被认为是标签的左边界符,因此我们可以利用转义字符,对应符号的转义字符可上网查,还有一种方法可像这样

在需要写类似符号时,加上一个<![CDATA[]]>标签,并在中括号内填入你想要写的符号,这些符号会被自动转义

MyBatis条件查询相关推荐

  1. vue-springboot项目 mybatis条件查询结果为null时解决方案 @Param @RequestParam 的参数传递

    先附上查到的一点资料: MyBatis真正强大之处就在于SQL映射语句,也就是它的魅力所在. @Param 接口: public List getUserListByParam(@Param(&quo ...

  2. MyBatis框架笔记05:MyBatis条件查询

    目录 一.提出需求 二.创建学生映射器配置文件StudentMapper.xml 三.在Mybatis配置文件里注册StudentMapper.xml

  3. MyBatis关联查询、多条件查询

    MyBatis关联查询.多条件查询 1.一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1.数据库表的设计 班级表: 教师表: 2.实体类的设计 班级表: public class Cla ...

  4. Mybatis基础:增删改查、模糊查询、多条件查询

    Mybatis基础:增删改查.模糊查询.多条件查询http://www.bieryun.com/3132.html 1.新建测试数据库,根据实体类属性创建 2.实体类 [java] view plai ...

  5. java mvc 分页查询条件_java分页条件查询-GridManager.js表格插件+Pageable分页对象+mybatis pagehelper分页插件...

    总览: 一. GridManager.js表格插件 直接上插件API:链接地址 感觉该插件简单好用,插件作者也是有问必答,nice 二. 添加依赖 后端: pom文件添加: 1.7.0.RELEASE ...

  6. springboot封装统一查询对象进行多条件查询案例(mybatis和mybatis-plus+反射两种版本)

    文章目录 mybatis版本: 通用查询接口 封装辅助查询类: 通用controller: 自定义注解 controller service mapper测试 mybatis-plus实现版本 ent ...

  7. Mybatis多参数封装到map中,多条件查询

    1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.willia ...

  8. mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. import tk.mybatis.mapper.entity.Example;import com ...

  9. mybatis like模糊查询_Java自学之mybatis:模糊查询和多条件查询

    学习目的 使用mybatis进行模糊查询:查找category_表中包含cat的记录. 使用mybatis进行多条件查询:查找category_表中id>1,包含cat的记录. Part 1 模 ...

  10. MyBatis框架学习笔记04:利用MyBatis实现条件查询

    文章目录 一.查询需求 二.打开MyBatisDemo项目 三.对学生表实现条件查询 (一)创建学生映射器配置文件 (二)在MyBatis配置文件里注册学生映射器配置文件 (三)创建学生映射器接口 ( ...

最新文章

  1. Load 方法 暨 程序的加载顺序
  2. Spring boot注册三大组件
  3. 关于能否命令Scrum团队的对话
  4. window.event.srcElement (转)
  5. Linux实验五:Linux环境下的C语言编程
  6. Python 异步 IO 、协程、asyncio、async/await、aiohttp
  7. Apache Kafka 2.7.0 稳定版发布
  8. 如何在Shell脚本中漂亮地打印JSON?
  9. AIML框架 初探
  10. Excel分压电阻计算
  11. 城市与城乡规划用地分类和色块标准|CSV|C#程序|Excel
  12. Win10 桌面回收站右键没有“清空回收站”选项怎么解决
  13. 哈尔滨学计算机编程学校,哈尔滨中小学生编程学校排名
  14. 安卓手机屏幕失灵后通讯录导出
  15. python中对象的赋值、浅拷贝和深拷贝
  16. css中图片不清晰解决方法
  17. 怎么搜索一下整个网络的计算机,如何快速查找自己电脑IP地址?
  18. Mac常用的五款思维导图软件,中文版推荐
  19. Java-超市购物小票案例-详细介绍
  20. 关于node版本16+ 安装依赖会出现error的问题

热门文章

  1. 民生银行计算机研发笔试题,民生银行提前批 “民芯计划” 技术岗笔试算法题...
  2. 大数据学习第一章:初识大数据
  3. 大数据云计算实习报告
  4. 【按键精灵】N秒内找图函数封装
  5. 【测试】转行软件测试没有项目经历怎么办
  6. matlab 不显示图中的x,y轴
  7. 图片/视频获取缩略图的几种方式
  8. 计算机的表格如何加边框,技巧:三种快速添加Excel表格边框的方法
  9. 删除可恶的7654.com,7654导航篡改首页恢复,如何解决浏览器被7654劫持
  10. python:NBA比赛数据分析