java连接数据库的模糊查询

简介: 1:模糊查询是比较常见的一种查询方式,例如在订单表中,包含有订单的具体日期。如果要查询某年某月的订单信息,最好的方式就是使用模糊查询。进行模糊查询需要使用关键字LIKE。在使用LIKE关键字进行模糊查询时,可以使用通配符"%",来代替0个或者多个字符,使用下划线_来代表一个字符。

1:模糊查询是比较常见的一种查询方式,例如在订单表中,包含有订单的具体日期。如果要查询某年某月的订单信息,最好的方式就是使用模糊查询。进行模糊查询需要使用关键字LIKE。在使用LIKE关键字进行模糊查询时,可以使用通配符"%",来代替0个或者多个字符,使用下划线_来代表一个字符。

注释:需要注意的是在使用LIKE的时候,后面的查询条件需要加 '  ',英文状态下的单引号引起来,不然报错如下

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%别%' at line 1

 


 

 1 package com.ningmeng;
 2 
 3 import java.sql.*;
 4 
 5 public class Test07 {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         try {
10             Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
11             System.out.println("加载数据库驱动成功");
12             String url="jdbc:mysql://localhost:3306/test";//声明自己的数据库test的url
13             String user="root";//自己的数据库用户名
14             String pass="123456";//自己的数据库密码
15             //建立数据库连接,获得连接的对象conn
16             Connection conn=DriverManager.getConnection(url,user,pass);
17             System.out.println("连接数据库驱动成功");
18             Statement stmt=conn.createStatement();//创建一个Statement对象
19             String sql="select * from users where username like '%别%' ";//生成sql语句
20             ResultSet rs=stmt.executeQuery(sql);//执行sql语句
21             int id,age,sex;
22             String username,password;
23             System.out.println("id\t 用户名\t 密码\t 性别\t 年龄");
24             while(rs.next()){
25                 id=rs.getInt("id");
26                 username=rs.getString(2);
27                 password=rs.getString("password");
28                 age=rs.getInt(4);
29                 sex=rs.getInt("age");
30                 System.out.println(id+"\t"+username+"\t"+password+"\t"
31                         +sex+"\t"+age);//输出查询结果
32             }
33             System.out.println("模糊查询成功");
34             conn.close();//关闭数据库连接
35             System.out.println("关闭数据库连接成功");
36         } catch (ClassNotFoundException e) {
37             // TODO Auto-generated catch block
38             e.printStackTrace();
39         } catch (SQLException e) {
40             // TODO Auto-generated catch block
41             e.printStackTrace();
42         }
43         
44     }
45 }

 

 

目录
相关文章
|
5月前
|
存储 SQL Java
Java实现关键字模糊查询的高效方法及实践
实现关键字模糊查询的方法有多种,每种方法都有其适用场景。在选择合适的方法时,应考虑实际需求、数据量大小、性能要求等因素。正则表达式适用于处理简单文本或小数据集;数据库模糊查询适用于存储在RDBMS中的数据;而第三方库,则适合需要进行复杂搜索的大型项目。选用合适的工具,可以有效提升搜索功能的性能和用户体验。
116 6
|
开发框架 前端开发 JavaScript
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示(一)
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示
367 7
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示(一)
|
开发框架 前端开发 Java
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示(二)
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示
198 6
|
开发框架 前端开发 Java
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示(三)
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示
196 4
|
NoSQL Java Linux
Redis - Java使用RedisTemplate模糊查询/删除key
Redis - Java使用RedisTemplate模糊查询/删除key
4911 0
|
Java
Java之对List里面的对象名字进行模糊查询
Java之对List里面的对象名字进行模糊查询
565 0
|
1天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。
|
1天前
|
消息中间件 缓存 安全
Java多线程是什么
Java多线程简介:本文介绍了Java中常见的线程池类型,包括`newCachedThreadPool`(适用于短期异步任务)、`newFixedThreadPool`(适用于固定数量的长期任务)、`newScheduledThreadPool`(支持定时和周期性任务)以及`newSingleThreadExecutor`(保证任务顺序执行)。同时,文章还讲解了Java中的锁机制,如`synchronized`关键字、CAS操作及其实现方式,并详细描述了可重入锁`ReentrantLock`和读写锁`ReadWriteLock`的工作原理与应用场景。
|
2天前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
12 3
|
2天前
|
存储 安全 Java
Java多线程编程秘籍:各种方案一网打尽,不要错过!
Java 中实现多线程的方式主要有四种:继承 Thread 类、实现 Runnable 接口、实现 Callable 接口和使用线程池。每种方式各有优缺点,适用于不同的场景。继承 Thread 类最简单,实现 Runnable 接口更灵活,Callable 接口支持返回结果,线程池则便于管理和复用线程。实际应用中可根据需求选择合适的方式。此外,还介绍了多线程相关的常见面试问题及答案,涵盖线程概念、线程安全、线程池等知识点。
16 2