java实现的连接数据库及模糊查询功能示例

以下是详细的攻略:

连接数据库

Java连接数据库需要使用JDBC(Java Database Connectivity)技术,具体过程如下:

  1. 导入JDBC驱动程序。如果使用MySQL数据库,则需要下载相应的驱动。可以在MySQL官网 下载最新版本的JDBC驱动。
  2. 加载驱动程序。可以使用Class.forName()方法来加载驱动程序。
  3. 建立数据库连接。使用DriverManager.getConnection()方法来建立和数据库的连接。

示例代码如下:

import java.sql.*;

public class ConnectDatabase {

    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/test";

    static final String USER = "username";
    static final String PASS = "password";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try{
            // 注册 JDBC 驱动器
            Class.forName(JDBC_DRIVER);

            // 打开一个连接
            System.out.println("连接到数据库...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // 执行查询
            System.out.println("实例化Statement对象...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT id, name, age, address FROM students";
            ResultSet rs = stmt.executeQuery(sql);

            // 处理结果集
            while(rs.next()){
                // 通过字段检索
                int id  = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                String address = rs.getString("address");

                // 输出结果
                System.out.print("ID: " + id);
                System.out.print(", 姓名: " + name);
                System.out.print(", 年龄: " + age);
                System.out.println(", 地址: " + address);
            }
            // 关闭结果集、语句和连接
            rs.close();
            stmt.close();
            conn.close();
        }catch(SQLException se){
            // 处理 JDBC 错误
            se.printStackTrace();
        }catch(Exception e){
            // 处理 Class.forName 错误
            e.printStackTrace();
        }finally{
            // 关闭资源
            try{
                if(stmt!=null) stmt.close();
            }catch(SQLException se2){
            }try{
                if(conn!=null) conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}

模糊查询

在SQL中进行模糊查询可以使用LIKE关键字,示例如下:

SELECT column_name FROM table_name WHERE column_name LIKE '%xxx%';

其中,xxx表示要模糊匹配的字符串。它可以出现在被匹配字符串的任何位置,并且也可以由多个字符串组成。

在Java中,可以将用户输入的字符串与数据库中的数据进行模糊匹配,示例代码如下:

import java.sql.*;

public class FuzzyQuery {

    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/test";

    static final String USER = "username";
    static final String PASS = "password";

    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement stmt = null;
        try{
            // 注册 JDBC 驱动器
            Class.forName(JDBC_DRIVER);

            // 打开一个连接
            System.out.println("连接到数据库...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // 执行查询
            System.out.println("实例化PreparedStatement对象...");
            String sql;
            sql = "SELECT id, name, age, address FROM students WHERE address LIKE ?";
            stmt = conn.prepareStatement(sql);
            stmt.setString(1, "%北京%");

            ResultSet rs = stmt.executeQuery();

            // 处理结果集
            while(rs.next()){
                // 通过字段检索
                int id  = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                String address = rs.getString("address");

                // 输出结果
                System.out.print("ID: " + id);
                System.out.print(", 姓名: " + name);
                System.out.print(", 年龄: " + age);
                System.out.println(", 地址: " + address);
            }
            // 关闭结果集、语句和连接
            rs.close();
            stmt.close();
            conn.close();
        }catch(SQLException se){
            // 处理 JDBC 错误
            se.printStackTrace();
        }catch(Exception e){
            // 处理 Class.forName 错误
            e.printStackTrace();
        }finally{
            // 关闭资源
            try{
                if(stmt!=null) stmt.close();
            }catch(SQLException se2){
            }try{
                if(conn!=null) conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}

本示例中,使用了PreparedStatement来进行模糊查询,并通过setString()方法设置了查询参数。注意,在设置查询参数时,要使用通配符%来表示匹配任意字符。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现的连接数据库及模糊查询功能示例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java运行期注解的作用是什么?

    Java运行期注解是在运行期间动态地修改代码行为或元数据的方式。在Java语言中,使用注解可以为类、方法、字段等元素添加额外的元数据信息,特别是在框架应用中,注解是必要的成分之一。 Java运行期注解的作用包括但不限于以下几个方面: 1. 解耦 运行期注解是通过将元数据信息附加在程序元素上而实现的,整个注解体系实现了代码与元数据之间的解耦。开发人员在不破坏原…

    Java 2023年5月11日
    00
  • 百度UEditor编辑器使用教程与使用方法(图文)

    百度UEditor编辑器使用教程与使用方法(图文) 1. 简介 百度UEditor编辑器是一个轻量、可定制的富文本编辑器,特别适用于网站开发,用于对富文本的输入和输出,如网站后台管理系统和文章编辑器等。本篇文章将用图文的形式详细介绍其使用方法。 2. 安装和使用 2.1 下载 首先,需要从百度UEditor官方网站下载编辑器。我们可以下载源码并自定义配置,也…

    Java 2023年6月15日
    00
  • 手动构建springBoot启动器过程图解

    要讲解“手动构建springBoot启动器过程图解”的完整攻略,我们需要先了解什么是Spring Boot启动器。 Spring Boot启动器是一种可重用的软件模块,它可以将一组常用的依赖项组合在一起,并提供了一些默认配置,开发人员可以将其添加到自己的应用程序中,以简化应用程序的配置和部署。Spring Boot启动器的目的是封装所有必需的依赖项和配置,以…

    Java 2023年5月15日
    00
  • 替换jar包未重启引起的系统宕机事件

    一、事件背景: 某天凌晨,一阵急促的铃声将我从周公那里拉了过来,接听电话后,一脸懵逼。 什么情况?XX后台宕机了?当日日志也不打印了,前端发起的请求,都报超时,重启后又恢复了,不清楚会不会再次宕机。 出现这种情况,我第一时间想的是为什么是00:00:00宕机?难道后台嫌我这个大龄程序员睡得早了? 然后是通过远程视频,看日志,排查了凌晨之前的日志里的所有异常,…

    Java 2023年4月18日
    00
  • JavaWeb项目部署到服务器详细步骤详解

    以下是JavaWeb项目部署到服务器的详细步骤: 1. 准备工作 在进行JavaWeb项目部署之前,需要先进行一些准备工作。首先是服务器环境的准备。服务器需要安装Tomcat、JDK以及MySQL等相关软件,并且需要配置好环境变量等一些基本设置。 其次,需要将JavaWeb项目进行打包处理。一般来说,我们可以通过eclipse或者IntelliJ IDEA等…

    Java 2023年5月24日
    00
  • 基于SSM+Shiro+Bootstrap实现用户权限管理系统

    下面我将结合示例详细讲解如何使用SSM+Shiro+Bootstrap实现用户权限管理系统的完整攻略。 SSM框架搭建 准备工具和环境: JDK 1.8+ Maven IntelliJ IDEA 或Eclipse Tomcat 创建Maven项目,并添加以下依赖: Spring SpringMVC MyBatis 配置web.xml文件,添加SpringMV…

    Java 2023年6月15日
    00
  • 完整详解Java开发学习路线指南

    完整详解Java开发学习路线指南 Java是一门非常流行的编程语言,在软件开发领域具有广泛的应用。如果想要成为一名Java开发人员,需要掌握一系列的知识和技能。下面是一个Java开发学习路线的完整攻略,希望可以帮助大家快速入门Java开发。 学习基础知识 Java开发的第一步是掌握基础知识。以下是Java开发初学者需要掌握的几个基本概念: 数据类型 Java…

    Java 2023年5月20日
    00
  • Springboot2.6.x的启动流程与自动配置详解

    Spring Boot 2.6.x的启动流程与自动配置详解 Spring Boot是一个快速开发框架,可以帮助开发人员快速构建Web应用程序。在Spring Boot 2.6.x版本中,启动流程和自动配置得到了进一步的优化和改进。本文将介绍Spring Boot 2.6.x的启动流程和自动配置详解,并提供两个示例。 Spring Boot 2.6.x的启动流…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部