mysql多组合条件查询_多条件组合查询
// 条件(criteria) 分别为 cname, gender, cellphone, email
public List query(Customer criteria){
try{
// 给出 sql 模板
// 先给出一个 sql 语句的前缀
// WHERE 条件为 1=1, 方便后面增加其他语句, 要注意 sql 语句各个单词之间的空格
StringBuilder sql = new StringBuilder("SELECT * FROM t_customer WHERE 1=1");
// 用来装载参数的 List 集合
// 当判断一个条件存在后, 将该条件放入参数集合中
List params = new ArrayList();
// 判断各个条件是否存在
String cname = criteria.getCname();
if(cname != null && !cname.trim().isEmpty()){
// 向 sql 模板中添加参数, 模糊查询
sql.append(" and cname like ?");
// 向 list 集合中添加参数
params.add("%" + cname + "%");
}
String gender = criteria.getGender();
if(gender != null && !gender.trim().isEmpty()){
sql.append(" and gender=?");
params.add(gender);
}
String cellphone = criteria.getCellphone();
if(cellphone != null && !cellphone.trim().isEmpty()){
sql.append(" and cellphone like ?");
params.add("%" + cellphone + "%");
}
String email = criteria.getEmail();
if(email != null && !email.trim().ieEmpty()){
sql.append(" and email like ?");
params.add("%"+email+"%");
}
// 执行 qr 方法
// 注意将 sql 语句转换为 String 类型
// 将 params 转换为数组类型
QueryRunner qr = new QueryRunner();
qr.query(sql.toString(),
new BeanListHandler(Customer.class),
params.toArray());
}catch(SQLException e){
throw new RuntimeException(e);
}
}
参考资料:
mysql多组合条件查询_多条件组合查询相关推荐
- 条件查询_多条件组合查询---测试用例设计
一.假设查询因子:A,B,C,D,E(下拉框+复选框) 1.单独查询:A:B:C:D:E - 确保单独查询的正确性,这也是最基本的. 2.两个组合查询:AB:AC:AD:AE:BC:BD:BE:CD: ...
- mysql超长sql查询_超长SQL怎么查询?MySQL列长度限制有哪些 | 学步园
MySQL字符串的限制长度看似重要性不要,其实和整个MySQL数据库的安全性是息息相关的,很值得我们去深入研究分析.SQL注入攻击一直都在被广泛的讨论,然而人们却忽略了今天我将要介绍的这两个安全隐患, ...
- mysql连接与嵌套查询_数据库之嵌套查询与连接查询
嵌套查询 单值嵌套查询 值返回结果是一个值的嵌套查询称为单值嵌套查询 对Sales数据库,列出市场部的所有员工的编号 USE Sale GO SELECT employee_id FROM emplo ...
- lepus mysql 慢查询_天兔 -Lepus 慢查询分析平台配置
想要实现慢查询查询分析,需要在被监控端安装percona-toolkit工具. 1.被监控端安装软件包 yum -y install perl-IO-Socket-SSL yum -y install ...
- java线程条件变量_使用条件变量(多线程笔记)
条件变量属性: 使用条件变量可以以原子方式阻塞线程,知道某个特定条件为真为止.条件变量始终与互斥锁一起使用. 使用条件变量,线程可以以原子方式阻塞,知道满足某个条件为止.对掉件的测试时在互斥锁的保护下 ...
- mysql数据库实验查询_数据库表的查询操作(实验二)
[实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识. [实验要求]:掌握利用Select语句进行各种查询操作:单表查询.多表连接及查询.嵌套查询.集合查询等. [实验内容] ...
- 外键查询_传统关系型数据库查询性能提高思路
相信现阶段依然有许多的企业信息化项目依然采用单体架构,其数据存储主要方式依然以关系型数据库为主,比如oracle.mysql.postgresql等.企业初期,各种原因导致研发人员身兼数职,都是全栈的 ...
- case when 子查询_标准SQL——子查询、分组查询、多表联查
点击上方蓝色字关注我们!❈ 一.查询子句: 1.排序子句:order by 列,列.. [asc|desc] 排序, select * from user order by account desc ...
- .net函数查询_数据分析-SQL-复杂查询
内容简介: 视图 子查询 标量子查询 关联子查询 各种函数 练习题 总结 一.视图 1.1 视图是什么? 数据库里面有很多表,表里放的是实际数据,视图中存放的是SQL查询语句,当我们用客户端(例如na ...
- order by 子查询_视图,子查询,标量子查询,关联子查询
视图 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 1. 视图 视图内存放SQL查询语句,运行时运行该语句.查出的数据为临时数据 创建视图 create view as 视图名称 ...
最新文章
- python绘制月亮_Python函数
- eureka同步原理_Eureka工作原理
- python可变序列_python序列中可变数据类型有什么
- ModuleNotFoundError: No module named 'CommandNotFound'
- 《C和指针》——声明数组参数
- C++笔记整理(参考整理自各大博客)
- 问题二十:C++全局debug “ray tracing图形”实例
- 设计模式-第二篇之简单工厂模式
- arch Linux安装到U盘,如何把ArchLinux安装到U盘上
- MFC教程(Visual C++ 6.0)|合集 |更新中
- Laravel核心概念:服务容器(ServiceContainer),服务提供者(Service Provider),门面(Facade),契约(Contracts)
- 【多模态】《Visual7W: Grounded Question Answering in Images》论文阅读笔记
- 图片去水印的原理_图片中的水印怎么去除
- hdu 5234-三维背包
- html5 自动分享到朋友圈,html5手机端分享微信朋友圈代码
- Go语言小程序开发快速入门——一、用Gin框架实现简单的信息获取
- PL/SQL Developer使用技巧
- 如何修改Kestrel上传文件的大小
- 创业公司做数据分析(二)运营数据系统
- java 中对象的称呼