Java构建JDBC应用程序的实例操作

Java构建JDBC应用程序的实例操作涉及到以下步骤:

  1. 导入JDBC驱动
    在Java应用程序中连接数据库前,需要导入相应的JDBC驱动,可以通过Class.forName()方法实现。
    示例代码:
Class.forName("com.mysql.jdbc.Driver");
  1. 创建连接
    在导入驱动后,应用程序需要创建一个数据库连接,可以通过DriverManager.getConnection()方法创建连接。
    示例代码:
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "admin";
Connection conn = DriverManager.getConnection(url, user, password);
  1. 创建Statement对象
    一旦创建连接,应用程序就可以通过Connection对象创建Statement对象,Statement对象用于执行SQL语句。
    示例代码:
Statement stmt = conn.createStatement();
  1. 执行SQL语句
    通过Statement对象执行SQL语句。
    示例代码:
String sql = "SELECT * FROM user";
ResultSet rs = stmt.executeQuery(sql);
  1. 处理结果集
    当SQL语句执行完成后,应用程序可以通过ResultSet对象获取查询结果,并进行相应的处理。
    示例代码:
while(rs.next()){
    String name = rs.getString("name");
    int age = rs.getInt("age");
    System.out.println("Name: " + name + ", Age: " + age);
}
  1. 关闭连接
    在应用程序处理完结果集后,需要释放资源,包括ResultSet对象、Statement对象和Connection对象。
    示例代码:
rs.close();
stmt.close();
conn.close();

下面是两个示例,分别演示基本的数据库连接和查询操作:

示例1:连接MySQL数据库

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

public class ConnectionTest {

    public static void main(String[] args) {

        // JDBC driver name and database URL
        final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        final String DB_URL = "jdbc:mysql://localhost:3306/test";

        // Database credentials
        final String USER = "root";
        final String PASS = "admin";

        Connection conn = null;

        try {
            // Register JDBC driver
            Class.forName(JDBC_DRIVER);

            // Open a connection
            System.out.println("Connecting to database...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // Close connection
            conn.close();
            System.out.println("Connection closed.");
        } catch(SQLException se) {
            // Handle errors for JDBC
            se.printStackTrace();
        } catch(Exception e) {
            // Handle errors for Class.forName
            e.printStackTrace();
        } finally {
            // Finally block used to close resources
            try {
                if(conn!=null) conn.close();
            } catch(SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

示例2:查询MySQL数据库中的数据

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

public class SelectTest {

    public static void main(String[] args) {

        // JDBC driver name and database URL
        final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        final String DB_URL = "jdbc:mysql://localhost:3306/test";

        // Database credentials
        final String USER = "root";
        final String PASS = "admin";

        Connection conn = null;
        Statement stmt = null;

        try {
            // Register JDBC driver
            Class.forName(JDBC_DRIVER);

            // Open a connection
            System.out.println("Connecting to database...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // Execute a query
            System.out.println("Creating statement...");
            stmt = conn.createStatement();
            String sql = "SELECT * FROM user";
            ResultSet rs = stmt.executeQuery(sql);

            // Extract data from result set
            while(rs.next()){
                //Retrieve by column name
                String name = rs.getString("name");
                int age = rs.getInt("age");

                //Display values
                System.out.println("Name: " + name + ", Age: " + age);
            }
            // Clean-up environment
            rs.close();
            stmt.close();
            conn.close();
        } catch(SQLException se) {
            // Handle errors for JDBC
            se.printStackTrace();
        } catch(Exception e) {
            // Handle errors for Class.forName
            e.printStackTrace();
        } finally {
            // Finally block used to close resources
            try {
                if(stmt!=null) stmt.close();
            } catch(SQLException se2) {
            } // nothing we can do
            try {
                if(conn!=null) conn.close();
            } catch(SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java构建JDBC应用程序的实例操作 - Python技术站

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

相关文章

  • java获取本月日历表的方法

    要获取本月的日历表,可以使用Java中的Calendar类来实现。下面是详细步骤: 1.获取当前月份的第一天我们可以使用Calendar类的getActualMinimum()方法,将日历字段设置为该字段可能的最小值,例如我们将日历字段设置为月份的最小值,即Calendar.MONTH,然后使用getActualMinimum(Calendar.DATE)方…

    Java 2023年5月20日
    00
  • Java的Struts框架报错“NoSuchSubscriptionException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“NoSuchSubscriptionException”错误。这个错误通常由以下原因之一起: 配置错误:如果配置文件中没有正确配置,则可能会出现此。在这种情况下,需要检查文件以解决此问题。 订阅名称错误:如果订阅名称不正确,则可能出现此。在这种情况下,需要检查订阅名称以解决此问题。 以下是两个实例: 例 1 如…

    Java 2023年5月5日
    00
  • Java经典用法总结(二)

    让我们来详细讲解一下《Java经典用法总结(二)》的完整攻略。 简介 本文是《Java经典用法总结》系列的第二篇,主要介绍了Java集合类中常用的几种容器及其使用方法,以及常见的集合操作方式和优化。 Java集合类 Java集合类可以被看作是一种数据结构的封装,用于存储一组相关的数据。Java集合类提供了丰富的操作和算法,可以快速对数据进行处理。 Java集…

    Java 2023年5月20日
    00
  • spring security自定义认证登录的全过程记录

    下面是关于“spring security自定义认证登录的全过程记录”的详细攻略: 背景 Spring Security是Spring家族中重要的一员,主要用于Web应用的安全框架。它可以实现对应用的URL、方法和资源进行保护,在身份验证和授权方面提供了全面的支持。其中认证是指确认用户身份,而授权是指决定用户可以访问系统哪些资源。Spring Securit…

    Java 2023年5月19日
    00
  • SpringBoot2.x中management.security.enabled=false无效的解决

    问题描述: 在使用 Spring Boot 2.x 项目时,当添加了 Actuator 组件后,如果需要关闭 Actuator 组件的安全认证功能,通过在配置文件中加入 management.security.enabled=false 进行了配置,但是访问 Actuator 的端点时,仍然需要输入用户名和密码进行认证。 解决方法: Spring Boot …

    Java 2023年5月20日
    00
  • JavaScript封装axios的实现详解

    JavaScript封装axios的实现详解 Axios是基于Promise的HTTP客户端,可以在浏览器和Node.js中使用。它简单易用、功能强大,逐渐成为前端开发中最常用的HTTP请求库之一。本篇文章将详细讲解如何封装axios,并提供两个示例进行说明。 封装axios 安装axios 在开始封装axios之前,我们需要先安装它。可以使用npm来安装a…

    Java 2023年6月15日
    00
  • java开发MyBatis中常用plus实体类注解符详解

    Java开发MyBatis中常用Plus实体类注解符详解 什么是MyBatis Plus? MyBatis Plus是MyBatis的一个增强工具,在MyBatis基础之上进行扩展。MyBatis Plus提供了很多实用的增强功能,如分页查询、条件构造器、逻辑删除、自动填充等,使得开发人员可以更加快捷地编写代码。在MyBatis Plus中,实体类注解符是其…

    Java 2023年5月20日
    00
  • 如何分析 GC 日志?

    以下是关于如何分析 GC 日志的完整使用攻略: 如何分析 GC 日志? GC 日志是 Java 虚拟机在进行垃圾回收时所产生的日志信息,它记录了垃圾回收的详过程,包括垃圾回收的类型、回收时间、回收的对象数量、回收所占用的时间等。通过分析 GC 日志,可以了解垃圾回收的情况,优化程序的性能和效率。 分析 GC 日志的步骤 以下是分析 GC 日志的步骤: 启用 …

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