Java mysql数据库并进行内容查询实例代码

下面是详细讲解Java连接MySQL数据库并进行内容查询的完整攻略:

前置条件

  1. Java编程环境已经安装并配置好;
  2. MySQL数据库已经安装并设置好用户名和密码;
  3. MySQL JDBC驱动程序已经下载,并在项目中添加了相关jar包。

连接MySQL数据库

首先,我们需要在Java代码中连接MySQL数据库。这可以通过以下代码完成:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectMySQL {
    public static void main(String[] args) {
        Connection conn = null;
        String driver = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC";
        String user = "your_username";
        String password = "your_password";

        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);
            System.out.println("Database connection established");
        } catch (ClassNotFoundException | SQLException e) {
            System.err.println("Cannot connect to database server");
            e.printStackTrace();
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("Database connection terminated");
                } catch (SQLException e) { /* ignored */}
            }
        }
    }
}

其中:

  • driver:MySQL JDBC驱动程序的类名,可以直接使用com.mysql.cj.jdbc.Driver;
  • url:通过JDBC连接到MySQL数据库的URL,其中localhost:3306表示数据库服务器位置和端口号,your_database_name表示要连接的数据库名称,其余参数控制时区和SSL使用;
  • user:MySQL用户名;
  • password:MySQL用户密码。

需要注意的是,此处需要使用try-catch语句来捕获可能出现的异常。

进行内容查询

连接MySQL数据库后,我们可以通过Statement或者PreparedStatement对象执行SQL语句进行内容查询。例如:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class QueryMySQL {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String driver = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC";
        String user = "your_username";
        String password = "your_password";

        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);

            String sql = "SELECT * FROM your_table_name WHERE column1 = ? AND column2 = ?";
            ps = conn.prepareStatement(sql);
            ps.setString(1, "value1");
            ps.setString(2, "value2");
            rs = ps.executeQuery();

            while(rs.next()) {
                int id = rs.getInt("id");
                String column1 = rs.getString("column1");
                String column2 = rs.getString("column2");

                System.out.println("id: " + id + ", column1: " + column1 + ", column2: " + column2);
            }

        } catch (ClassNotFoundException | SQLException e) {
            System.err.println("Cannot connect to database server");
            e.printStackTrace();
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) { /* ignored */}
            }
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException e) { /* ignored */}
            }
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("Database connection terminated");
                } catch (SQLException e) { /* ignored */}
            }
        }
    }
}

其中:

  • sql:要执行的SQL语句,其中?表示预编译语句的参数;
  • ps.setString():设置预编译语句中的参数;
  • rs.next():将光标向前移动一行,如果有下一行则返回true,否则返回false;
  • rs.getInt():获取查询结果集中id列的值;
  • rs.getString():获取查询结果集中column1column2列的值。

这里演示的是通过PreparedStatement对象执行SQL语句进行内容查询。使用Statement对象执行SQL语句可参考以下示例:

import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class StatementMySQL {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        String driver = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC";
        String user = "your_username";
        String password = "your_password";

        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);

            String sql = "SELECT * FROM your_table_name WHERE column1 = 'value1' AND column2 = 'value2'";
            stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);
            while(rs.next()){
                int id  = rs.getInt("id");
                String column1 = rs.getString("column1");
                String column2 = rs.getString("column2");

                System.out.println("id: " + id + ", column1: " + column1 + ", column2: " + column2);
            }

        } catch (ClassNotFoundException | SQLException e) {
            System.err.println("Cannot connect to database server");
            e.printStackTrace();
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) { /* ignored */}
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) { /* ignored */}
            }
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("Database connection terminated");
                } catch (SQLException e) { /* ignored */}
            }
        }
    }
}

其中:

  • sql:要执行的SQL语句;
  • stmt:Statement对象。

总结

本文详细地介绍了Java连接MySQL数据库并进行内容查询的完整攻略和相关的示例代码,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java mysql数据库并进行内容查询实例代码 - Python技术站

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

相关文章

  • java中的静态代码块、构造代码块、构造方法详解

    Java中的静态代码块、构造代码块、构造方法详解 在Java中,我们可以通过概念上三种不同类型的代码块来实现特定的代码块执行顺序和实现方式:静态代码块、构造代码块、构造方法。下面将针对这三种代码块进行详细讲解。 静态代码块 静态代码块是在类加载的时候自动执行的代码块,且只会执行一次。我们可以通过static {…}的方式定义静态代码块。静态代码块的主要作…

    Java 2023年5月23日
    00
  • Java实现数据库连接池的方法

    Java实现数据库连接池是一种提高性能和应用程序响应能力的有效方法。下面为大家介绍几种常见的Java实现数据库连接池的方法。 使用Apache DBCP实现连接池 Apache DBCP是Java中最常用的开源连接池之一,它是一个开源项目,由Apache软件基金会支持。它使用轻量级语言Java实现,可以通过简单的配置使用。下面是使用Apache DBCP实现…

    Java 2023年5月19日
    00
  • Java简单计时的实现案例(可以用来限时循环)

    让我们来详细讲解一下“Java简单计时的实现案例(可以用来限时循环)”的完整攻略。 思路概述 实现计时器的基本思路如下: 设置一个计时器变量,反映经过的时间。 确定计时器启动时刻。 定时器中执行要计时的动作(循环等)。 规定计时器结束条件,一般用时间限制或者次数限制。 计算执行完毕所需时间。 输出结果等。 根据这个思路,我们可以实现一个简单可用的计时器。 示…

    Java 2023年5月19日
    00
  • SpringMVC实现多文件上传

    以下是关于“SpringMVC实现多文件上传”的完整攻略,其中包含两个示例。 SpringMVC实现多文件上传 在SpringMVC中,我们可以通过MultipartFile类来实现多文件上传。在本文中,我们将讲解如何使用MultipartFile类来实现多文件上传。 多文件上传实现原理 SpringMVC通过使用MultipartFile类来实现多文件上传…

    Java 2023年5月17日
    00
  • Java利用套接字实现应用程序对数据库的访问

    Java利用套接字实现应用程序对数据库的访问,需要经过以下步骤: 配置数据库信息:在Java应用程序中,我们可以通过配置文件比如Property文件来存储数据库信息,比如数据库名称、用户名、密码、地址、端口等等。 建立连接:使用Java JDBC API中的该库驱动连接数据库。 字段验证:避免SQL注入攻击,对输入的字段进行验证和过滤。 构建SQL语句:使用…

    Java 2023年6月1日
    00
  • java split()使用方法解析

    Java split()使用方法解析 在Java中,split()是一个常用的字符串方法,用于将一个字符串按指定的分隔符分割成多个子字符串,并将结果存储在一个字符串数组中。本文将详细解析Java split()的使用方法。 语法 public String[] split(String regex) 参数说明: regex:用于指定分隔符的字符串。可以是一个…

    Java 2023年5月26日
    00
  • 解决VS2015中没有报表项(ReportViewer)的方法

    解决VS2015中没有报表项(ReportViewer)的方法 在VS2015中创建WinForm项目时,默认情况下是没有报表项(ReportViewer)的,那么该如何解决呢?下面提供两种解决方法。 方法一:通过VS2015安装程序安装报表项(ReportViewer) 打开VS2015安装程序,在“个性化”页面中选择“修改”。 在“工作负载”选项中,勾选…

    Java 2023年6月15日
    00
  • 基于Spring MVC 简介及入门小例子(推荐)

    以下是关于“基于Spring MVC 简介及入门小例子(推荐)”的完整攻略,其中包含两个示例。 1. 前言 Spring MVC是一种常用的Java Web开发框架,其核心思想是基于MVC模式来实现Web应用程序的开发。本攻略将详细讲解Spring MVC的基本概念和使用方法,帮助读者快速入门Spring MVC框架。 2. Spring MVC基本概念 以…

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