要实现模糊查询,首先得明白所使用的数据库到底是什么,对应的语句又是什么;
一般而言模糊查询要根据所搜索的内容进行模糊匹配;
关键字like的实现
例如:select * from table where name like %yugi%;

1:java报表开发工具中如何进行模糊查询
模糊查询是利用“_”表示单个字符和“%”表示任意个字符进行匹配的。一些常见的格式如下:

Select * from 表名 where 列名 like '%'; //查询出全部

Select * from 表名 where 列名 like 'x'; //完全匹配查询

Select * from 表名 where 列名 like '_x'; //右为x,前面有一位字符

Select * from 表名 where 列名 like '__x'; //右为x,前面有两位位字符

Select * from 表名 where 列名 like 'x___'; //左为x,后面有两位位字符

Select * from 表名 where 列名 like '%x'; //右为x,前面可以有任意位字符

Select * from 表名 where 列名 like 'x%'; //左为x,后面可以有任意位字符

Select * from 表名 where 列名 like '%x%'; //中间为x,左右都可以有任意位字符

结合参数的模糊查询(用${name}代表上述的x):

Select * from 表名 where 列名 like '${name}';
Select * from 表名 where 列名 like '%${name}';

以此类推。

2:单条件模糊查询
单条件模糊查询,就是根据一个字段查询,模糊匹配%变量%

public class SalDaoImpl extends DbConn{public List<Sal> findByMap(String empno) {List<Sal> list =new ArrayList<Sal>();if(conn!=null) {try{String sql="select * from [dbo].[sal] where empno  like '%"+empno+"'";Statement stmt = conn.createStatement();     ResultSet rs = stmt.executeQuery(sql);     while(rs.next()){Sal r =new Sal();r.setId(rs.getInt("id"));r.setEmpno(rs.getString("empno"));r.setName(rs.getString("name"));r.setCreateDate(rs.getString("createDate"));r.setSal(rs.getDouble("sal"));r.setSalDecrease(rs.getDouble("salDecrease"));list.add(r);}rs.close(); }catch(Exception e){e.printStackTrace();  }}return list;}public static void main(String args[]){List<Sal> list=new SaoImpl().findByMap("10005");}}

2:多条件模糊查询

根据多个参数来查询,也就是多条件查询

public class SalDaoImpl extends DbConn{public List<Sal> findByMap(String empno,String createDate) {List<Sal> list =new ArrayList<Sal>();if(conn!=null) {try{String sql="select * from [dbo].[sal] where empno  like '%"+empno+"'and createDate like'%"+createDate+"'";Statement stmt = conn.createStatement();     ResultSet rs = stmt.executeQuery(sql);     while(rs.next()){Sal r =new Sal();r.setId(rs.getInt("id"));r.setEmpno(rs.getString("empno"));r.setName(rs.getString("name"));r.setCreateDate(rs.getString("createDate"));r.setSal(rs.getDouble("sal"));r.setSalDecrease(rs.getDouble("salDecrease"));list.add(r);}rs.close(); }catch(Exception e){e.printStackTrace();}}return list;}}

Java如何解决模糊查询(数据库SQL语句,报表开发工具)相关推荐

  1. java中sql模糊查询_模糊查询的sql语句(java模糊查询sql语句)

    模糊查询的sql语句(java模糊查询sql语句) 2020-07-24 11:06:02 共10个回答 假设表名为product,商品名为name,简界为remark.则可如下写:select[na ...

  2. Mybatis中使用oracle的模糊查询的SQL语句写法

    在学习mybatis的学习中,用到模糊查询的时候,发现直接拼接成'%'#{description}'%'会报错,然后整理了三种模糊查询的SQL语句写法: 1.在传参的时候,就把参数拼接为"% ...

  3. MySQL基础(八):模糊查询的SQL语句、where条件查询、比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询

    文章目录 where条件查询 1. where条件查询的介绍 2. 比较运算符查询 3. 逻辑运算符查询 4. 模糊查询 5. 范围查询 6. 空判断查询 7. 小结 where条件查询 学习目标 能 ...

  4. 模糊查询和sql语句的拼接

    如下面图片所示:进行模糊查询 前端的页面代码:  注意:请选择那里的value="" 一定要写 <body><form action="SearchSt ...

  5. php中简单模糊查询的sql语句

    从topics表中查询字段subject与传进来的参数'$_POST['topic']进行比较模糊查询 设subject字段数据为:数学,英语,物理,化学,英文 $subject=$_POST['to ...

  6. Java菜鸟补给站---MySQL数据库 SQL 语句补充( 一 )

    目录 SQL 语句 truncate 语句 不属于DML语句 1>作用 截断名 2>语法: truncate table 表名 3>和 delete 语句的区别 对于自增长字段,使用 ...

  7. Mybatis中模糊查询的SQL语句应该怎么写?

    第一种实现方式'%${value}%' select * from user where username like '%${value}%' 缺点:字符串拼接存在sql注入问题 sql注入问题可以参 ...

  8. 数据库SQL语句课堂总结(2)——子查询

    废话引言 我有一个梦想,有一天能跟上单大师敲sql的速度QAQ 本文数据库同数据库SQL语句课堂总结(1) 主要介绍子查询的相关语句 正文开始 子查询介绍 定义: 子查询允许把一个查询嵌套在另一个查询 ...

  9. mysql查询选课程的学生学号和姓名_数据库SQL语句中查询选修了全部课程的学生的学号和姓名理解...

    首先头脑中有三点概念: 1.EXISTS子查询找到的提交 NOTEXISTS子查询中找不到的提交 说明:不要去翻译为存在和不存在,把脑袋搞晕. 2.建立程序循环的概念,这是一个动态的查询过程.如FOR ...

  10. Oracle数据库SQL语句(四)—子查询(嵌套查询)

    Oracle数据库SQL语句(四) 子查询(嵌套查询) 1.单行子查询 SELECT * FROM stuWHERE ID > (SELECT ID FROM stu WHERE NAME =' ...

最新文章

  1. OC中创建对象,存入数组,并且遍历对象
  2. SQL Server转义下划线
  3. 【Pygame小游戏】首月破亿下载 一款高度融合了「超休闲游戏特性」的佳作~
  4. 通过反射动态调用webservices
  5. Vue 从入门到进阶之路(十四)
  6. python中if else语句用法_Python中if-else语句的多种写法
  7. Java 之 合成模式
  8. EasyUI基础入门之Droppable(可投掷)
  9. PHP 验证IP的合法性
  10. 【Vue学习】—Vue UI组件库(二十八)
  11. python基础之列表生成式和生成器
  12. [转]FTP搜索引擎的设计与实现(优化版)
  13. jdk16新特性_jdk8到jdk16新特性
  14. 分享十一个学习css的小游戏,快来下载吧!
  15. Java简易计算器制作
  16. php输出跳转下一页,tp5页面输出时,搜索后跳转下一页的处理
  17. 面向对象技术之——转发(forwarding)
  18. 35岁以后的Android程序员出路在哪里?大牛最佳总结
  19. 商简智能学术成果|基于深度强化学习的联想电脑制造调度(Lenovo Schedules Laptop Manufacturing Using Deep Reinforcement Learning)
  20. JAVA面向对象(OOP)-class 类

热门文章

  1. PHP的zend引擎
  2. QQ被盗后,如何找回好友
  3. oracle左外链接多表,sql – 在Oracle中的多个表的左外连接
  4. BTRFS - what makes BTRFS different?
  5. ES 矩阵查询(Adjacency matrix aggregation)
  6. 帝国cms忘记后台帐号密码的处理方法
  7. 联发科处理器真有那么不堪吗?
  8. 2022华为机试社招OD高频考试真题【9, 10月份Q2, Q3考试新编程题目】
  9. java.util 语言_java中的import java.util是什么意思
  10. java生成假数据工具类-基于Faker1.0.2