MyBatis条件查询
单条件查询
用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条件查询相关推荐
- vue-springboot项目 mybatis条件查询结果为null时解决方案 @Param @RequestParam 的参数传递
先附上查到的一点资料: MyBatis真正强大之处就在于SQL映射语句,也就是它的魅力所在. @Param 接口: public List getUserListByParam(@Param(&quo ...
- MyBatis框架笔记05:MyBatis条件查询
目录 一.提出需求 二.创建学生映射器配置文件StudentMapper.xml 三.在Mybatis配置文件里注册StudentMapper.xml
- MyBatis关联查询、多条件查询
MyBatis关联查询.多条件查询 1.一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1.数据库表的设计 班级表: 教师表: 2.实体类的设计 班级表: public class Cla ...
- Mybatis基础:增删改查、模糊查询、多条件查询
Mybatis基础:增删改查.模糊查询.多条件查询http://www.bieryun.com/3132.html 1.新建测试数据库,根据实体类属性创建 2.实体类 [java] view plai ...
- java mvc 分页查询条件_java分页条件查询-GridManager.js表格插件+Pageable分页对象+mybatis pagehelper分页插件...
总览: 一. GridManager.js表格插件 直接上插件API:链接地址 感觉该插件简单好用,插件作者也是有问必答,nice 二. 添加依赖 后端: pom文件添加: 1.7.0.RELEASE ...
- springboot封装统一查询对象进行多条件查询案例(mybatis和mybatis-plus+反射两种版本)
文章目录 mybatis版本: 通用查询接口 封装辅助查询类: 通用controller: 自定义注解 controller service mapper测试 mybatis-plus实现版本 ent ...
- Mybatis多参数封装到map中,多条件查询
1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.willia ...
- mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. import tk.mybatis.mapper.entity.Example;import com ...
- mybatis like模糊查询_Java自学之mybatis:模糊查询和多条件查询
学习目的 使用mybatis进行模糊查询:查找category_表中包含cat的记录. 使用mybatis进行多条件查询:查找category_表中id>1,包含cat的记录. Part 1 模 ...
- MyBatis框架学习笔记04:利用MyBatis实现条件查询
文章目录 一.查询需求 二.打开MyBatisDemo项目 三.对学生表实现条件查询 (一)创建学生映射器配置文件 (二)在MyBatis配置文件里注册学生映射器配置文件 (三)创建学生映射器接口 ( ...
最新文章
- Load 方法 暨 程序的加载顺序
- Spring boot注册三大组件
- 关于能否命令Scrum团队的对话
- window.event.srcElement (转)
- Linux实验五:Linux环境下的C语言编程
- Python 异步 IO 、协程、asyncio、async/await、aiohttp
- Apache Kafka 2.7.0 稳定版发布
- 如何在Shell脚本中漂亮地打印JSON?
- AIML框架 初探
- Excel分压电阻计算
- 城市与城乡规划用地分类和色块标准|CSV|C#程序|Excel
- Win10 桌面回收站右键没有“清空回收站”选项怎么解决
- 哈尔滨学计算机编程学校,哈尔滨中小学生编程学校排名
- 安卓手机屏幕失灵后通讯录导出
- python中对象的赋值、浅拷贝和深拷贝
- css中图片不清晰解决方法
- 怎么搜索一下整个网络的计算机,如何快速查找自己电脑IP地址?
- Mac常用的五款思维导图软件,中文版推荐
- Java-超市购物小票案例-详细介绍
- 关于node版本16+ 安装依赖会出现error的问题
热门文章
- 民生银行计算机研发笔试题,民生银行提前批 “民芯计划” 技术岗笔试算法题...
- 大数据学习第一章:初识大数据
- 大数据云计算实习报告
- 【按键精灵】N秒内找图函数封装
- 【测试】转行软件测试没有项目经历怎么办
- matlab 不显示图中的x,y轴
- 图片/视频获取缩略图的几种方式
- 计算机的表格如何加边框,技巧:三种快速添加Excel表格边框的方法
- 删除可恶的7654.com,7654导航篡改首页恢复,如何解决浏览器被7654劫持
- python:NBA比赛数据分析