Java如何解决模糊查询(数据库SQL语句,报表开发工具)
要实现模糊查询,首先得明白所使用的数据库到底是什么,对应的语句又是什么;
一般而言模糊查询要根据所搜索的内容进行模糊匹配;
关键字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语句,报表开发工具)相关推荐
- java中sql模糊查询_模糊查询的sql语句(java模糊查询sql语句)
模糊查询的sql语句(java模糊查询sql语句) 2020-07-24 11:06:02 共10个回答 假设表名为product,商品名为name,简界为remark.则可如下写:select[na ...
- Mybatis中使用oracle的模糊查询的SQL语句写法
在学习mybatis的学习中,用到模糊查询的时候,发现直接拼接成'%'#{description}'%'会报错,然后整理了三种模糊查询的SQL语句写法: 1.在传参的时候,就把参数拼接为"% ...
- MySQL基础(八):模糊查询的SQL语句、where条件查询、比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询
文章目录 where条件查询 1. where条件查询的介绍 2. 比较运算符查询 3. 逻辑运算符查询 4. 模糊查询 5. 范围查询 6. 空判断查询 7. 小结 where条件查询 学习目标 能 ...
- 模糊查询和sql语句的拼接
如下面图片所示:进行模糊查询 前端的页面代码: 注意:请选择那里的value="" 一定要写 <body><form action="SearchSt ...
- php中简单模糊查询的sql语句
从topics表中查询字段subject与传进来的参数'$_POST['topic']进行比较模糊查询 设subject字段数据为:数学,英语,物理,化学,英文 $subject=$_POST['to ...
- Java菜鸟补给站---MySQL数据库 SQL 语句补充( 一 )
目录 SQL 语句 truncate 语句 不属于DML语句 1>作用 截断名 2>语法: truncate table 表名 3>和 delete 语句的区别 对于自增长字段,使用 ...
- Mybatis中模糊查询的SQL语句应该怎么写?
第一种实现方式'%${value}%' select * from user where username like '%${value}%' 缺点:字符串拼接存在sql注入问题 sql注入问题可以参 ...
- 数据库SQL语句课堂总结(2)——子查询
废话引言 我有一个梦想,有一天能跟上单大师敲sql的速度QAQ 本文数据库同数据库SQL语句课堂总结(1) 主要介绍子查询的相关语句 正文开始 子查询介绍 定义: 子查询允许把一个查询嵌套在另一个查询 ...
- mysql查询选课程的学生学号和姓名_数据库SQL语句中查询选修了全部课程的学生的学号和姓名理解...
首先头脑中有三点概念: 1.EXISTS子查询找到的提交 NOTEXISTS子查询中找不到的提交 说明:不要去翻译为存在和不存在,把脑袋搞晕. 2.建立程序循环的概念,这是一个动态的查询过程.如FOR ...
- Oracle数据库SQL语句(四)—子查询(嵌套查询)
Oracle数据库SQL语句(四) 子查询(嵌套查询) 1.单行子查询 SELECT * FROM stuWHERE ID > (SELECT ID FROM stu WHERE NAME =' ...
最新文章
- OC中创建对象,存入数组,并且遍历对象
- SQL Server转义下划线
- 【Pygame小游戏】首月破亿下载 一款高度融合了「超休闲游戏特性」的佳作~
- 通过反射动态调用webservices
- Vue 从入门到进阶之路(十四)
- python中if else语句用法_Python中if-else语句的多种写法
- Java 之 合成模式
- EasyUI基础入门之Droppable(可投掷)
- PHP 验证IP的合法性
- 【Vue学习】—Vue UI组件库(二十八)
- python基础之列表生成式和生成器
- [转]FTP搜索引擎的设计与实现(优化版)
- jdk16新特性_jdk8到jdk16新特性
- 分享十一个学习css的小游戏,快来下载吧!
- Java简易计算器制作
- php输出跳转下一页,tp5页面输出时,搜索后跳转下一页的处理
- 面向对象技术之——转发(forwarding)
- 35岁以后的Android程序员出路在哪里?大牛最佳总结
- 商简智能学术成果|基于深度强化学习的联想电脑制造调度(Lenovo Schedules Laptop Manufacturing Using Deep Reinforcement Learning)
- JAVA面向对象(OOP)-class 类
热门文章
- PHP的zend引擎
- QQ被盗后,如何找回好友
- oracle左外链接多表,sql – 在Oracle中的多个表的左外连接
- BTRFS - what makes BTRFS different?
- ES 矩阵查询(Adjacency matrix aggregation)
- 帝国cms忘记后台帐号密码的处理方法
- 联发科处理器真有那么不堪吗?
- 2022华为机试社招OD高频考试真题【9, 10月份Q2, Q3考试新编程题目】
- java.util 语言_java中的import java.util是什么意思
- java生成假数据工具类-基于Faker1.0.2