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 Web开发中,过滤器、监听器、拦截器都是常用的三种组件,它们的作用都是在服务器接收请求和响应之间加入某种特性。虽然它们的功能有些相似,但它们的实现和应用场景又有所不同。 过滤器(Filter) 过滤器是在请求链中,对请求和响应进行预处理和后处理的组件。过滤器可以拦截…

    Java 2023年5月20日
    00
  • Java Springboot 重要知识点整理汇总

    Java Springboot 重要知识点整理汇总 前言 Springboot是一个能够快速构建基于Spring框架的Web应用程序的开源框架,它采用了约定优于配置的方式,极大的简化了Spring应用的开发过程。本文将围绕Springboot的重要知识点进行整理,旨在帮助各位快速掌握Springboot的核心概念和技术。 搭建Springboot项目 Spr…

    Java 2023年5月19日
    00
  • JAVA实现简单系统登陆注册模块

    下面我将为你详细讲解如何实现一个JAVA语言的简单系统登陆注册模块。 准备工作 在开始实现登陆注册模块前,我们需要进行一些准备工作: 安装Java开发环境(JDK); 确定使用的开发工具,例如Eclipse、IntelliJ IDEA等; 创建Java项目; 下载并引入需要使用的第三方库,例如JDBC驱动,用于连接数据库。 数据库设计 在实现登陆注册模块前,…

    Java 2023年5月18日
    00
  • Java 日期转换详解及实例代码

    Java 日期转换详解及实例代码 在Java中,日期转换经常是很常见的需求,它涉及到将字符串解析为日期对象、将日期对象格式化为字符串等操作。下面将详细介绍Java日期转换的相关知识和实例代码。 日期格式化与解析 Date与String互相转换 将Date对象转换为字符串 Java提供了SimpleDateFormat class用于将Date对象转换为指定格…

    Java 2023年5月20日
    00
  • Java实现字符串匹配的示例代码

    下面是Java实现字符串匹配的示例代码的完整攻略: 1. 什么是字符串匹配 字符串匹配指在一个字符串中查找另一个字符串的过程。在计算机科学中,字符串匹配是十分常见的问题,例如用来搜索文本文件中的单词、在数据库中查询某些记录等等。这里我们介绍一种常见的字符串匹配算法——KMP算法。 2. KMP算法介绍 KMP算法全称是Knuth-Morris-Pratt算法…

    Java 2023年5月26日
    00
  • Java中常见的5种WEB服务器介绍

    Java中常见的5种WEB服务器介绍 1. Apache Tomcat Apache Tomcat是最流行的Java应用服务器之一。它是一个轻量级、开源的Web容器,常用于开发和部署Java Servlet和JavaServer Pages (JSP)应用程序。Tomcat可用于开发和部署Java Web应用程序,而且简单易用。除了常见的Java Web技术…

    Java 2023年5月19日
    00
  • 一文带你了解Java排序算法

    一文带你了解Java排序算法 在计算机科学中,排序算法是一种将一组数据按照特定规则进行排列的过程。Java中提供了多种排序算法实现,本文将为您介绍常见的排序算法及其实现方式。 冒泡排序 冒泡排序是一种基本的排序算法,通过重复遍历要排序的列表来比较相邻的两个元素,如果顺序错误,则进行交换,直到没有任何交换发生为止。 public static void bub…

    Java 2023年5月19日
    00
  • Springboot项目中内嵌sqlite数据库的配置流程

    首先,我们需要在pom.xml中引入sqlite-jdbc依赖。在dependencies标签中添加如下代码: <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version&gt…

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