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提供了 getBytes() …

    Java 2023年5月26日
    00
  • Spring Boot+微信小程序开发平台保存微信登录者的个人信息

    好的。本文将详细介绍如何使用Spring Boot和微信小程序开发平台来保存微信登录者的个人信息。 1. 创建小程序应用 在开始之前,你需要先申请一个微信小程序应用,具体操作请参考微信小程序官方文档。 2. 配置微信小程序开发平台 在微信小程序开发平台中配置小程序的信息。其中,需要配置小程序的 AppID 和 App Secret ,以及配置小程序的登录授权…

    Java 2023年5月20日
    00
  • hibernate-validator改进校验框架validator v0.4使用

    来讲一下“hibernate-validator改进校验框架validator v0.4使用”的完整攻略。 什么是Hibernate-Validator? Hibernate-Validator 是一款校验框架。这个框架的初衷是为了在 JavaBean 层面上提供一套统一、可重用的验证机制,使得我们在对 JavaBean 进行数据验证时能够更加方便、快捷、灵…

    Java 2023年5月20日
    00
  • Tomcat使用Log4j输出catalina.out日志

    介绍 在使用Tomcat服务器时,通常需要对服务器的运行状态进行特定的记录,例如:访问日志、错误日志、调试日志等。而catalina.out则是Tomcat服务中的一种重要的日志文件,其中一般会记录Tomcat服务器的所有日志,包括控制台的输出信息、访问日志、错误日志等。在Tomcat服务器中,默认的日志实现是JUL(Java Util Logging),但…

    Java 2023年5月19日
    00
  • Java Swing实现记事本页面

    Java Swing是Java平台下的一个GUI工具包,可以轻松实现桌面应用程序。要实现Java Swing记事本页面,可以参考以下完整攻略: 第一步:创建Swing应用程序 创建一个Java Swing应用程序,这可以通过在Java开发环境中选择“新建”->“项目”->“Java”->“Swing应用程序”开始。生成的新项目将包含一个My…

    Java 2023年5月19日
    00
  • Apache log4j2-RCE 漏洞复现及修复建议(CVE-2021-44228)

    针对“Apache log4j2-RCE 漏洞复现及修复建议(CVE-2021-44228)”,我将为您提供完整攻略,分为漏洞复现和修复建议两个部分。 一、漏洞复现: 环境搭建: 首先,需要搭建一个漏洞环境来进行复现。我们可以使用Apache官方提供的Docker镜像搭建该环境。可以参考以下命令来启动该镜像 docker run –rm -it -p 80…

    Java 2023年5月19日
    00
  • SpringMVC DispatcherServlet组件实现解析

    我来为你详细讲解“SpringMVC DispatcherServlet组件实现解析”的完整攻略。 1. 前言 在SpringMVC开发中,DispatcherServlet组件是非常重要的组件之一,它是整个MVC架构的核心。它负责将客户端的请求数据传递给对应的Controller进行处理,同时还负责将Controller处理的结果返回给客户端。Dispat…

    Java 2023年5月16日
    00
  • SpringBoot整合SpringDataRedis的示例代码

    针对SpringBoot整合SpringDataRedis的示例代码,我来进行详细讲解。以下是完整攻略: 1. 引入依赖 在 pom.xml 文件中引入 Spring Data Redis 的依赖: <dependency> <groupId>org.springframework.boot</groupId> <a…

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