Java使用JDBC连接数据库

下面我将详细讲解“Java使用JDBC连接数据库”的完整攻略。

JDBC简介

JDBC (Java Database Connectivity)是Java连接数据库的标准API,提供了一套访问不同数据库的标准接口。使用JDBC能够实现操作多种关系型数据库的一致性。

JDBC连接数据库的准备

在使用JDBC访问数据库之前,需要先完成以下准备工作:

  1. 安装JDBC驱动程序:不同数据库需要使用相应的JDBC驱动程序,需要事先下载并安装到本地环境。
  2. 加载驱动程序:使用Class类的forName(String className)方法加载驱动程序类,并在static块中进行初始化。
  3. 获取连接对象:调用DriverManager类的getConnection(String url, String user, String password)方法获取连接对象Connection。

假设已经安装了MySQL数据库,并下载了相应的MySQL JDBC驱动程序mysql-connector-java-x.x.x.jar,在项目中需要将该驱动程序添加到依赖中。

JDBC连接数据库的示例一

下面以连接MySQL数据库为例,讲述如何使用JDBC连接数据库,并执行一条简单的查询语句。

  1. 加载驱动程序
// 加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
  1. 获取连接对象
// 获取连接对象
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);

其中url参数中的useUnicode=truecharacterEncoding=utf8表示使用UTF-8编码,useSSL=false表示不使用SSL加密。

  1. 执行查询语句
// 执行查询语句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * from user");
while (rs.next()) {
    System.out.println(rs.getString("name") + ":" + rs.getInt("age"));
} 

示例中使用Statement对象发送一条查询语句,并使用ResultSet对象获取返回的查询结果。

JDBC连接数据库的示例二

下面以连接SQLite数据库为例,讲述如何使用JDBC连接数据库,并执行一条插入语句。

  1. 加载驱动程序
// 加载驱动程序
Class.forName("org.sqlite.JDBC");
  1. 获取连接对象
// 获取连接对象
String url = "jdbc:sqlite:test.db";
Connection conn = DriverManager.getConnection(url);

SQLite数据库使用本地文件作为数据库文件,示例中使用的数据库文件为test.db

  1. 执行插入语句
// 执行插入语句
Statement stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO user (name, age) VALUES ('Tom', 20)");

示例中使用Statement对象发送一条插入语句,并使用executeUpdate方法执行。

以上两个示例中,使用了不同的数据库和不同的SQL语句,但是连接过程都是相同的。需要注意的是,JDBC连接数据库操作完成后需要手动关闭连接对象、语句对象和结果集对象等资源。可以在finally块中统一关闭这些资源。

// 关闭资源
try {
    if (rs != null) rs.close();
    if (stmt != null) stmt.close();
    if (conn != null) conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

希望以上内容对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用JDBC连接数据库 - Python技术站

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

相关文章

  • Java获取时间差(天数差,小时差,分钟差)代码示例

    Java获取时间差(天数差,小时差,分钟差)的实现需要用到Java中的日期时间类:java.util.Date和java.time.LocalDateTime。以下是详细的攻略和两条代码示例: 获取时间差代码示例1 import java.time.LocalDateTime; import java.time.Duration; public class …

    Java 2023年5月20日
    00
  • 基于Java设计一个短链接生成系统

    下面是详细讲解“基于Java设计一个短链接生成系统”的完整攻略: 1. 确定技术选型 短链接生成系统需要对 URL 进行加密编码,使其变成一个相对短且不易被外界猜测的字符串,而 Java 编程语言具有稳定的运行性能、丰富的第三方框架和库支持,因此选择 Java 作为系统的开发语言,而相对简单易用的 spring-boot 框架作为主要开发工具。 2. 简化开…

    Java 2023年5月24日
    00
  • Java实现新建有返回值的线程的示例详解

    针对“Java实现新建有返回值的线程”的问题,以下是一个完整的攻略: 1. 背景知识 在 Java 中,我们可以使用继承 Thread 类或实现 Runnable 接口来创建一个线程,具体的实现方法可以参考 “Java中创建线程的几种方式” 文章. 当我们创建一个线程时,如果需要在线程执行完毕后得到返回值,我们可以使用 Callable 接口,它定义了一个具…

    Java 2023年5月19日
    00
  • SpringBoot高频面试题

    Springboot的优点 内置servlet容器,不需要在服务器部署 tomcat。只需要将项目打成 jar 包,使用 java -jar xxx.jar一键式启动项目 SpringBoot提供了starter,把常用库聚合在一起,简化复杂的环境配置,快速搭建spring应用环境 可以快速创建独立运行的spring项目,集成主流框架 准生产环境的运行应用监…

    Java 2023年5月1日
    00
  • 详解SpringCloud Gateway之过滤器GatewayFilter

    下面是Spring Cloud Gateway过滤器GatewayFilter的详解攻略: 什么是Gateway Filter Spring Cloud Gateway 的过滤器(Filters)提供了许多内置的功能,包括路由转发、限流、安全、监控等。Gateway Filter 是一个基本的工作单元,它由若干个有顺序的 GatewayFilter组成。每个…

    Java 2023年5月20日
    00
  • Java编写日历表的3种方式

    当我们需要生成日历表时,一种可选的方法是使用Java编程来生成。这里提供三种使用Java编写日历表的方式,它们分别是:使用Calendar类、使用java.util.Date类以及使用第三方库Joda Time。 使用Calendar类 Java中有一个很感兴趣的类称为Calendar类,提供了许多用于操作日历的方法。以下是使用Calendar类生成日历表的…

    Java 2023年5月20日
    00
  • JAVA各种OOM代码示例与解决方法

    “JAVA各种OOM代码示例与解决方法”攻略 什么是OOM OOM是”Out Of Memory”的缩写,意为内存用尽。Java程序中,如果申请内存超过了JVM所限制的最大内存,则会发生OOM异常。在Java程序中,由于内存泄漏或者分配内存过多导致的OOM异常较为常见。 OOM异常的种类 Java heap spaceJVM使用的java堆内存中没有多余的空…

    Java 2023年5月20日
    00
  • Spring Boot 整合 Apache Dubbo的示例代码

    这里给出一个完整的 Spring Boot 整合 Apache Dubbo 的示例代码攻略,包含以下内容: 环境准备 创建 Spring Boot 项目并添加依赖 配置 Dubbo 的注册中心和提供者 编写 Dubbo 的服务提供者 编写 Dubbo 的服务消费者 运行并测试示例代码 以下是具体的步骤: 1. 环境准备 首先,你需要安装并配置好以下环境: J…

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