最近做一个项目的时候,就需要用到多条件查询,但是一直不完美,所有有bug,不过今天经高人提醒,做出了个小例子,在这里简单跟大家分享一下:

不说多了,直接放关键sql代码:

已知条件:菜名,菜品,价格区间

调用方法传参:list=DBConnection.getFood(name,type,price1,price2);

关键sql代码:

//准备sql
String sql="SELECT * FROM dishes WHERE 1=1";
//菜品不为空,拼接菜品
if(type!="null") {
sql+=" and type='"+type+"'";
}
//菜名不为空,拼接菜名
if(name!="null") {
sql+=" and name like '%"+name+"%'";
}
//起始价不为空,拼接起始价
if(price1!=0.0&&price2==0.0) {
sql+=" and price='"+price1+"'";
}
//终止价不为空,拼接终止价
if(price2!=0.0&&price1==0.0) {
sql+=" and price='"+price2+"'";
}

//都不为空时,作为价格区间
if(price1!=0.0&&price2!=0.0) {
sql+="and price BETWEEN "+price1+" AND "+price2+"";

}

Eclipse+Mysql实现多条件查询的更多相关文章

  1. Mysql动态多条件查询

    动态多条件查询是一类经常遇到的问题. 在Mysql里面可以用语句简单的解决. SELECT * FROM product WHERE price = IF('{0}' = '', price, '{0 ...

  2. Mysql数据库中条件查询

    1.concat(字符串拼接) 作用:将选中的列进行拼接  写法 AS的作用就是属性名 SELECT CONCAT(ename,job) AS 你猜 FROM emp; 2.条件查询 语法: sele ...

  3. 10. MySQL基础-02条件查询、排序查询

    2. 条件查询 语法 ​ select 查询列表 from 表名 where 筛选条件: 分类 按条件表达式筛选 简单的条件运算符:> < = != <> >= ⇐ 按逻 ...

  4. MySql 按日期条件查询数据

    本周内: select * from wap_content where week(created_at) = week(now) 查询一天: select * from table where to ...

  5. mysql进阶(五)数据表中带OR的多条件查询

    MySQL数据表中带OR的多条件查询 OR关键字可以联合多个条件进行查询.使用OR关键字时: 条件 1) 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来. 2) 如果不符合这些查询条件 ...

  6. MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习

    MySQL之多表查询 阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建 ...

  7. Mysql 中Left/Right join on后面and和where条件查询的差异-Mysql SQL运算符是有优先级

    一.Mysql中Left/Right join on后面and和where条件查询的差异 1.建两张测试表,一张商户定义表.一张商户操作状态明细表 1)商户定义表 CREATE TABLE hope. ...

  8. mysql条件查询and or使用实例及优先级介绍

    mysql and与or介绍 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 使用OR关键字时: 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来. 如果不符合这 ...

  9. Mysql高手系列 - 第7篇:玩转select条件查询,避免踩坑

    这是Mysql系列第7篇. 环境:mysql5.7.25,cmd命令中进行演示. 电商中:我们想查看某个用户所有的订单,或者想查看某个用户在某个时间段内所有的订单,此时我们需要对订单表数据进行筛选,按 ...

随机推荐

  1. Spring Cloud服务消费者(rest+ribbon)

    在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+r ...

  2. 共克时艰,停工不停学 Serverless 在线课堂免费开课

    二月份,Serverless 团队联合腾讯云大学与云+社区免费推出 Serverless 在线直播课程,课程涵盖 Serverless 架构解密.技术解析以及不同应用场景下的最佳实战指导,让你从 0 ...

  3. 算法笔记4.3递归 问题 A: 吃糖果

    问题 A: 吃糖果 题目描述 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0). 妈妈告诉名名每天可以吃一块或者两块巧克力. 假设名 ...

  4. Oracle中的 timestamp 和 timestamp with time zone, timestamp with local time zone

    SQL> select dbtimezone, sessiontimezone from dual; DBTIME ------ SESSIONTIMEZONE ---------------- ...

  5. OLED带来全新视觉体验

    2013年1月,在国际消费电子展(CES)上世界首款曲面OLED电视--LG OLED电视亮相,LG Display将曲面与OLED完美结合的面板技术让显示设备的外观和品质都达到了一个全新的高度,惊艳 ...

  6. 体验vSphere 6之1-安装VMware ESXi 6 RC版(转载)

    体验vSphere 6之1-安装VMware ESXi 6 RC版 在2015年,各个公司都会发布一系列新的产品,例如Microsoft会发布Windows 10,VMware会发布vSphere 6 ...

  7. mysql 存储过程与存储函数

    第一节:存储过程和函数的引入 存储过程和函数是在数据库中定义一些SQL 语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL 语句.存储过程和函数可以避免开发人员重复的编写相同的SQL ...

  8. sm4算法(附源码、测试代码)

    from:http://blog.csdn.net/mao0514/article/details/52930944 SM4是我们自己国家的一个分组密码算法,是国家密码管理局于2012年发布的.网址戳 ...

  9. Java IO: 并发IO

    原文链接 作者: Jakob Jenkov 译者: 李璟 有时候你可能需要并发地处理输入和输出.换句话说,你可能有超过一个线程处理输入和产生输出.比如,你有一个程序需要处理磁盘上的大量文件,这个任务可 ...

  10. ES6下的Function.bind方法

    在JavaScript的使用中,this的指向问题始终是一个难点.不同的调用方式,会使this指向不同的对象.而使用call,apply,bind等方式,可改变this的指向,完成一些令人惊叹的黑魔法 ...