Java基于JDBC连接数据库及显示数据操作示例

Java基于JDBC连接数据库及显示数据操作示例

简介

JDBC(Java Database Connectivity)是一组用于操作数据库的接口。它允许Java应用程序与各种类型的关系型数据库进行通信并执行与数据库相关的操作(如查询、更新和删除数据等)。

在Java中,可以通过JDBC API建立Java应用程序与数据库之间的连接。本文将介绍如何使用JDBC API通过Java程序连接数据库、执行基本的数据查询和数据更新操作。

为了方便说明,我们将使用MySQL数据库和MySQL JDBC驱动程序来演示如何使用JDBC连接数据库及显示数据操作。

配置环境及准备工作

在开始编写Java连接数据库的程序之前,您需要做一些准备工作。

  1. 下载JDBC驱动程序

在使用JDBC连接到数据库之前,您需要先下载与您所使用的数据库相对应的JDBC驱动程序。

比如,如果您使用的是MySQL数据库,则应下载并安装MySQL JDBC驱动程序。可以从以下网址下载MySQL JDBC驱动程序:https://dev.mysql.com/downloads/connector/j/

  1. 准备数据库

在使用JDBC连接到数据库之前,您需要先准备一个数据库。

在本文的示例中,我们将使用MySQL数据库。可以通过以下步骤在本地创建一个MySQL数据库:

1) 安装MySQL数据库,具体步骤可以参考 https://dev.mysql.com/doc/refman/8.0/en/installing.html

2) 使用以下命令登录MySQL数据库:

mysql -u root -p

3) 创建一个数据库:

create database testdb;

在数据库中,我们将创建一个包含学生信息的表,并将用JDBC连接到这个表来执行一些基本的数据查询和更新操作。

表的列包括:

  • 学生ID
  • 学生姓名
  • 学生年龄

创建表的SQL语句:

CREATE TABLE students (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) DEFAULT NULL,
  age INT(11) DEFAULT NULL,
  PRIMARY KEY (id)
);

使用JDBC连接到MySQL数据库

在配置完成了环境和准备工作之后,下一步是编写Java程序连接到MySQL数据库。

在Java中,可以通过java.sql包中的类和接口来连接数据库,并对数据进行操作。

以下是一个示例Java程序,演示了如何使用JDBC连接到MySQL数据库,并执行一些基本的数据查询操作:

import java.sql.*;

public class JDBCTest {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC";
        String user = "root";
        String password = "root";
        try {
            Connection conn = DriverManager.getConnection(url,user,password);
            System.out.println("成功连接到数据库!");
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select * from students");
            while(rs.next()){
                System.out.println(rs.getString("id")+"\t"+rs.getString("name")+"\t"+rs.getString("age"));
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,首先指定数据库的URL、用户名和密码来建立与数据库的连接:

String url = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url,user,password);

其中,url是连接数据库的URL,指定了数据库所在的主机、端口号、数据库名、使用的时区,这些信息都是根据具体情况指定的。

接下来,创建一个Statement对象,使用executeQuery()方法执行SQL查询语句,并遍历ResultSet对象,输出查询结果:

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from students");
while(rs.next()){
    System.out.println(rs.getString("id")+"\t"+rs.getString("name")+"\t"+rs.getString("age"));
}

在查询完数据之后,关闭ResultSet、Statement和Connection对象:

rs.close();
stmt.close();
conn.close();

数据修改操作示例

在本文的示例中,我们将使用MySQL数据库和MySQL JDBC驱动程序来演示如何使用JDBC进行基本的数据查询和数据更新操作。

下面是一个示例程序,演示如何使用JDBC连接到MySQL数据库,并执行一些基本的数据更新操作:

import java.sql.*;

public class JDBCTest {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC";
        String user = "root";
        String password = "root";
        try {
            Connection conn = DriverManager.getConnection(url,user,password);
            System.out.println("成功连接到数据库!");
            Statement stmt = conn.createStatement();
            // 插入数据
            int result = stmt.executeUpdate("insert into students (name, age) values('张三', 20);");
            System.out.println("插入了"+result+"条数据!");
            // 更新数据
            result = stmt.executeUpdate("update students set age=21 where name='张三'");
            System.out.println("更新了"+result+"条数据!");
            // 删除数据
            result = stmt.executeUpdate("delete from students where name='张三'");
            System.out.println("删除了"+result+"条数据!");
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,首先指定数据库的URL、用户名和密码来建立与数据库的连接:

String url = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url,user,password);

然后创建一个Statement对象,并使用executeUpdate()方法执行数据更新操作,包括插入、更新和删除数据:

Statement stmt = conn.createStatement();
// 插入数据
int result = stmt.executeUpdate("insert into students (name, age) values('张三', 20);");
System.out.println("插入了"+result+"条数据!");
// 更新数据
result = stmt.executeUpdate("update students set age=21 where name='张三'");
System.out.println("更新了"+result+"条数据!");
// 删除数据
result = stmt.executeUpdate("delete from students where name='张三'");
System.out.println("删除了"+result+"条数据!");

接下来,关闭Statement和Connection对象:

stmt.close();
conn.close();

执行以上代码后,数据库中的数据会被相应地插入、更新和删除。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java基于JDBC连接数据库及显示数据操作示例 - Python技术站

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

相关文章

  • SpringMVC+MyBatis分页(最新)

    以下是关于“SpringMVC+MyBatis分页(最新)”的完整攻略,其中包含两个示例。 1. 前言 在Web应用程序中,分页是一种常见的需求。在SpringMVC和MyBatis中,可以使用PageHelper插件来实现分页。本攻略将详细讲解如何使用SpringMVC和MyBatis实现分页。 2. 添加PageHelper依赖 在使用PageHelpe…

    Java 2023年5月16日
    00
  • Spring框架实现AOP的两种方式详解

    Spring框架实现AOP的两种方式详解 Spring框架是JavaEE应用中最常用的框架之一,其中一个主要的特性就是支持AOP(面向切面编程)的实现。在Spring框架中,AOP有两种主要的实现方式:基于代理(Proxy-based)和基于AspectJ(AspectJ-based)。 基于代理的AOP实现方式 基于代理的AOP实现方式是Spring框架默…

    Java 2023年5月19日
    00
  • java swing编程入门代码编写(java编程入门)

    Java Swing是一种基于Java语言的GUI(图形用户界面)编程框架。通过使用Swing框架,开发人员可以轻松地构建具有丰富功能和良好交互性的应用程序。 以下是Java Swing编程入门的完整攻略: 1. 准备工作 在开始编写Java Swing代码之前,需要准备以下工具: JDK:Java开发工具包(JDK)是编写Java应用程序所必需的。确保已安…

    Java 2023年5月19日
    00
  • 使用maven shade插件解决项目版本冲突详解

    使用Maven Shade插件可以将所有的依赖包、类库和所需的资源打包到一个可执行的Jar文件中,从而避免在运行时出现项目版本冲突的问题。以下是使用Maven Shade插件解决项目版本冲突的完整攻略: 环境要求 JDK 1.8+ Maven 3.x+ 使用Maven Shade插件 在pom.xml文件中添加以下配置: <build> <…

    Java 2023年5月20日
    00
  • Java IO流 File类的常用API实例

    Java IO流 File类的常用API实例攻略 1. 什么是Java IO流 File类? Java IO流是Java核心API中的一部分,它提供了一种在Java应用程序中进行输入和输出操作的方式。File类是Java IO流中的重要类,它用于封装文件或目录的访问操作,提供了一系列对于文件或目录进行操作的方法。 2. File类的常用方法 2.1 File…

    Java 2023年5月19日
    00
  • freemarker简介_动力节点Java学院整理

    Freemarker简介 什么是Freemarker Freemarker是一款模板引擎,采用简单的模板语法,可将静态模板文件与动态数据结合生成动态页面,是JSP技术的替代品之一。它主要有以下特点: 简单易用,模板语法简洁明了。 完全分离表述式和具体数据,具有较高的可扩展性。 支持多种模板文件的格式,如HTML、XML、JSON、CSV等。 采用了一种类似于…

    Java 2023年6月15日
    00
  • 详解SpringMVC的拦截器链实现及拦截器链配置

    详解SpringMVC的拦截器链实现及拦截器链配置 在SpringMVC中,拦截器是一个非常重要的组件,它可以帮助我们在请求到达控制器之前或之后执行一些操作。本文将详细介绍SpringMVC的拦截器链实现及拦截器链配置,并提供两个示例说明。 拦截器链实现 在SpringMVC中,拦截器链是由HandlerInterceptor接口实现的。拦截器链中的每个拦截…

    Java 2023年5月17日
    00
  • 深入浅出Java中重试机制的多种方式

    深入浅出Java中重试机制的多种方式 在开发中,有时会需要对某些操作进行多次尝试,以增加操作的稳定性和可靠性。这时,使用重试机制可以很好地解决这一问题。本文将详细介绍Java中重试机制的多种实现方式。 1. 基于while循环的重试机制 最简单的重试机制就是在while循环中执行某个操作,并在某些限定条件下进行多次尝试。例如以下示例代码: int count…

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