JDBC连接MYSQL分步详解

JDBC连接MYSQL分步详解

JDBC是Java Database Connectivity的缩写,表示Java数据连接,是一种标准的Java API。JDBC提供了跨多种数据库管理系统的连接协议,能够让Java程序通过这套协议与数据库进行交互,从而实现对数据的增删改查操作。

本文将详细介绍如何使用JDBC连接MYSQL数据库,包括以下几个步骤:

  1. 下载安装JDBC驱动
  2. 导入JDBC驱动包到工程中
  3. 加载驱动程序
  4. 建立数据库连接
  5. 创建Statement对象
  6. 执行SQL语句
  7. 处理结果集
  8. 关闭连接

下面分别进行详细介绍。

1. 下载安装JDBC驱动

MYSQL提供了官方JDBC驱动程序,我们可以从MYSQL官网(https://dev.mysql.com/downloads/connector/j/)上下载最新版本的JDBC驱动程序。下载完成后,跟据系统类型执行解压。

2. 导入JDBC驱动包到工程中

在Eclipse等Java IDE中,导入JDBC驱动包到工程中,或者将驱动程序加入到classpath路径下:

CLASSPATH=%CLASSPATH%;C:/mysql-connector-java-5.1.38-bin.jar;

3. 加载驱动程序

在使用JDBC连接MYSQL数据库之前,需要加载JDBC驱动程序。在Java 1.6及之前的版本中,可以使用如下代码:

Class.forName("com.mysql.jdbc.Driver"); 

之后可以考虑使用如下代码:

Class.forName("com.mysql.cj.jdbc.Driver");

注意com.mysql.jdbc.Driver在MySQL 8及以上版本中已经无法使用,必须使用com.mysql.cj.jdbc.Driver。

4. 建立数据库连接

JDBC连接MYSQL数据库需要使用JDBC连接URL、用户名和密码。例如:

String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
String user="root";
String password="root";
Connection conn=DriverManager.getConnection(url, user, password);

其中,url是JDBC连接字符串,包括了MYSQL的地址、端口号、数据库名、字符集等信息。user和password是MYSQL的用户名和密码。可以根据实际情况调整。

5. 创建Statement对象

创建Statement对象用于执行SQL语句。例:

Statement stmt=conn.createStatement();

在创建Statement对象时,可以设置ResultSet的相关属性,如以下代码:

Statement stmt=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY,ResultSet.CLOSE_CURSORS_AT_COMMIT);

其中:

  • ResultSet.TYPE_FORWARD_ONLY:表示结果集只能向前遍历。
  • ResultSet.CONCUR_READ_ONLY:表示结果集是只读的,操作结果不会反映到数据库中。
  • ResultSet.CLOSE_CURSORS_AT_COMMIT:表示当事务提交时,光标关闭。

6. 执行SQL语句

执行SQL语句有三种方法,分别是Statement.executeUpdate()、Statement.executeQuery()、PreparedStatement.executeQuery()。其中,Statement.executeUpdate()用于执行INSERT、UPDATE或DELETE等影响数据库的操作;Statement.executeQuery()和PreparedStatement.executeQuery()用于执行SELECT语句查询出结果。

例如:

String sql="SELECT * FROM student";
ResultSet rs=stmt.executeQuery(sql);

7. 处理结果集

在执行查询操作后,需要对结果集进行处理。处理结果集的方法有很多,包括ResultSet.next()、ResultSet.getInt()、ResultSet.getString()等。例如:

while(rs.next()){
    int id=rs.getInt("id");
    String name=rs.getString("name");
    String sex=rs.getString("sex");
    int age=rs.getInt("age");
    System.out.println(id+'\t'+name+'\t'+sex+'\t'+age);
}

8. 关闭连接

处理完结果集后,应该释放相关资源,包括ResultSet、Statement、Connection等。例如:

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

以上就是使用JDBC连接MYSQL数据库的完整攻略。下面给出两个示例:

示例1:插入数据

Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
String user="root";
String password="root";
Connection conn=DriverManager.getConnection(url, user, password);
Statement stmt=conn.createStatement();
String sql="INSERT INTO student(id,name,sex,age) VALUES(2,'小明','男',20)";
int result=stmt.executeUpdate(sql);
if(result>0){
    System.out.println("插入数据成功!");
}
stmt.close();
conn.close();

示例2:查询数据

Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
String user="root";
String password="root";
Connection conn=DriverManager.getConnection(url, user, password);
Statement stmt=conn.createStatement();
String sql="SELECT * FROM student";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
    int id=rs.getInt("id");
    String name=rs.getString("name");
    String sex=rs.getString("sex");
    int age=rs.getInt("age");
    System.out.println(id+'\t'+name+'\t'+sex+'\t'+age);
}
rs.close();
stmt.close();
conn.close();

希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JDBC连接MYSQL分步详解 - Python技术站

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

相关文章

  • Java中数组的定义和使用教程(一)

    让我们来详细讲解“Java中数组的定义和使用教程(一)”的完整攻略。 1.数组的定义 数组是Java中最基本的数据结构之一,它可以存储多个相同类型的数据项。数组拥有固定的大小,一旦分配,大小就无法更改。数组有一些重要的属性需要记住: 长度(Length):数组的长度是在创建数组时指定的。在数组创建之后,这个长度就不能改变了。 索引(Index):每个数组元素…

    Java 2023年5月26日
    00
  • java按指定编码写入和读取文件内容的类分享

    下面我来详细讲解如何使用Java按指定编码写入和读取文件内容的类。 什么是编码? 在计算机中,所有的数据都是以二进制形式存储的,但是人类无法直接读懂所有的二进制数据。为了让计算机能够正确地识别和显示不同的文本,我们需要将文本数据按照一定的规则(即编码)转换为二进制数据存储。 常见的编码方式包括ASCII、Unicode、UTF-8等。每一种编码方式都有其特定…

    Java 2023年5月20日
    00
  • Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式)

    下面是Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式)的完整攻略。 1. 环境搭建 JDK安装及环境变量配置 Maven安装及配置 Eclipse/IDEA集成Maven插件及配置 2. 项目建立 利用Maven建立项目:新建Maven项目,设置GroupId、ArtifactId、Version等基本信息。 导入相关…

    Java 2023年5月31日
    00
  • php自动识别文字编码并转换为目标编码的方法

    PHP自动识别文字编码及转换方法攻略 在PHP中,处理中文字符时,常常会遇到文字编码不一致的问题,本文将为你介绍一种PHP自动识别文字编码并转换为目标编码的方法。 Step 1:获取需要转换的文字 获取需要转换的文字,比如从用户提交的表单数据中获取文本信息。在获取之后,需要先判断编码格式,这里使用PHP的mb_detect_encoding()函数进行自动检…

    Java 2023年6月1日
    00
  • Java实现的双向匹配分词算法示例

    Java实现的双向匹配分词算法是一种在中文分词中比较常用的算法。下面是完整攻略: 算法原理 双向匹配分词算法是通过正反两个方向分别匹配的方法来确定分词位置的。具体来说,它分别从文本的开头和结尾开始匹配,如果正反两边都匹配到了词,则以较短的那个词为准进行分词;如果其中一边没有匹配到词,则从另一边匹配下一个词。 算法实现 在Java中实现双向匹配分词算法的过程,…

    Java 2023年5月19日
    00
  • Spring Security架构以及源码详析

    Spring Security架构以及源码详析 Spring Security是一个基于Spring框架的安全框架,可以为Spring应用程序提供身份认证和授权的安全利器。本文将详细介绍Spring Security的架构,并对源码进行分析,最后通过示例演示其应用。 架构 Spring Security的架构主要包括过滤器链和认证、授权两个核心模块。 过滤器…

    Java 2023年5月20日
    00
  • 对象的访问包括哪些操作?

    对象的访问是指通过对象名或引用去访问对象的属性和方法,这是面向对象编程中的基本操作。对象的操作包括下面几个部分: 访问对象的属性 访问对象的属性是对象访问的一部分,属性是指一个对象所具有的特征或状态。可以通过.操作符来访问对象的属性,示例如下: class Person: def __init__(self, name, age): self.name = …

    Java 2023年5月10日
    00
  • Java Apache Commons报错“IndexOutOfBoundsException”的原因与解决方法

    当使用Java的Apache Commons类库时,可能会遇到“IndexOutOfBoundsException”错误。这个错误通常由以下原因之一起: 索引越界:如果索引越界,则可能会出现此错误。在这种情况下,需要检查索引以解决此问题。 数组或集合为空:如果数组或集合为空,则可能会出现此错误。在这种情况下,需要确保数组或集合不为空。 以下是两个实例: 例1…

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