java连接数据库的模糊查询

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 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏后端之路

J2Cache二级缓存'没有自动更新'

在给组内小伙伴们做完二级缓存的普及关于两级缓存的说明后,组内小伙伴使用二级缓存开发了公告功能。 功能如下: <cache name="notice" ...

1917
来自专栏木可大大

漫谈虚拟内存

如上图,程序1、程序2、程序3装入到内存,而程序2运行完成被换出,内存空闲出20k,然后进来程序4,大小为25K,此时,只有两处空闲块,10K和20K,没有一处...

4814
来自专栏Android研究院

彻底理解OkHttp - OkHttp 源码解析及OkHttp的设计思想

在OKhttp 源码解析之前,我们必须先要了解http的相关基础知识,任何的网络请求都离不开http。

1082
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(十五) ——Redis RDB文件结构与文件分析

《Redis设计与实现》读书笔记(十五) ——Redis RDB文件结构与文件分析 (原创内容,转载请注明来源,谢谢) 一、RDB文件结构 1、结构概述 ...

3125
来自专栏nimomeng的自我进阶

NSThread官方文档

1083
来自专栏xingoo, 一个梦想做发明家的程序员

程序猿的日常——Mybatis现学现卖

最近有一个小项目需求,需要用spring mvc + mybatis实现一个复杂的配置系统。其中遇到了很多不太常见的问题,在这里特意记录下: 主要涉及的内容有...

3387
来自专栏Adamshuang 技术文章

Guava Cache -- Java 应用缓存神器

Guava 作为Google开源Java 库中的精品成员,在性能、功能上都十分出色,本文将从实际使用的角度,来对Guava进行讲解。

8547
来自专栏Java3y

JDBC【事务、元数据、改造JDBC工具类】

1.事务 一个SESSION所进行的所有更新操作要么一起成功,要么一起失败 举个例子:A向B转账,转账这个流程中如果出现问题,事务可以让数据恢复成原来一样【A账...

3418
来自专栏何俊林

插件开发之360 DroidPlugin源码分析(二)Hook机制

前言:新插件的开发,可以说是为插件开发者带来了福音,虽然还很多坑要填补,对于这款牛逼的插件机制,一直想找个时间分析和总结下它的code,话不多说,直接入正题,本...

1866
来自专栏程序员阿凯

弯弯的小船悠悠 -- JDBCUtil 工具类

1052

扫码关注云+社区