使用 JDBC 连接 MySQL 数据库并进行数据查询操作

Posted 陈加菲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 JDBC 连接 MySQL 数据库并进行数据查询操作相关的知识,希望对你有一定的参考价值。

2017-10-30

接上一篇文章(利用 Java io 包进行文件读写操作),在这里我将总结使用 JDBC 连接 MySQL 数据库,并进行数据查询操作的方法


场景

使用 JDBC 连接数据库查询数据,返回到前端,前端再使用 JS 插件对数据进一步操作。

考察知识点

  • JDBC 连接
  • 给出插件的 API,考察当场学习新知识的速度

数据

我使用数据库是 cjl_demo,查询的表是 stu,该表下有数据:

首先给出代码示例

我也将代码托管在码云平台,可以前往参考:https://gitee.com/jinglun404/jdbc-demo

 1 import java.sql.*;
 2 
 3 /**
 4  * 使用JDBC查询mysql数据库示例
 5  */
 6 public class Main {
 7 
 8     public static void main(String[] args) {
 9 
10         try {
11             // 1.反射获取mysql驱动实例
12             Class.forName("com.mysql.jdbc.Driver");
13         } catch (ClassNotFoundException e) {
14             System.out.println("找不到驱动程序类,加载驱动失败!");
15             e.printStackTrace();
16         }
17 
18         String url = "jdbc:mysql://localhost:3306/cjl_demo";
19         String username = "username";
20         String password = "password";
21         try {
22             // 2.驱动实例->Connection
23             Connection conn = DriverManager.getConnection(url, username, password);
24 
25             // 3.Connection->Statement
26             Statement stmt = conn.createStatement();
27 
28             // 4.Statement->ResultSet
29             String sql = "select * from stu";
30             ResultSet rs = stmt.executeQuery(sql);
31 
32             // 5.通过ResultSet获取数据
33             while (rs.next()) {
34                 String id = rs.getString("id");
35                 String name = rs.getString("name");
36                 String score = rs.getString("score");
37                 String sex = rs.getString("sex");
38                 String theClass = rs.getString("class");
39                 System.out.println(id + "--" + name + "--" + score + "--" + sex + "--" + theClass);
40                 /**
41                  * 1--a--66--男--1
42                  * 2--b--82--女--2
43                  * 3--c--77--男--1
44                  * 4--d--90--女--2
45                  * 5--e--90--女--1
46                  */
47             }
48 
49             // 6.依次关闭ResultSet,Statement,Connection
50             if (rs != null) {
51                 try {
52                     rs.close();
53                 } catch (SQLException e) {
54                     System.out.println("ResultSet关闭时出现错误!");
55                     e.printStackTrace();
56                 }
57             }
58             if (stmt != null) {
59                 try {
60                     stmt.close();
61                 } catch (SQLException e) {
62                     System.out.println("Statement关闭时出现错误!");
63                     e.printStackTrace();
64                 }
65             }
66             if (conn != null) {
67                 try {
68                     conn.close();
69                 } catch (SQLException e) {
70                     System.out.println("Connection关闭时出现错误!");
71                     e.printStackTrace();
72                 }
73             }
74 
75         } catch (SQLException e) {
76             System.out.println("数据库连接失败!");
77             e.printStackTrace();
78         }
79     }
80 }

说明

先来看一张图,这张图总结了使用 JDBC 连接数据库操作的过程

不难理解,JDBC 连接数据库并进一步操作,步骤可大致总结为:

  1. 导入相应数据库的驱动包
  2. 通过反射加载相应数据库驱动实例
  3. 有 DriverManager 获取 Connection 实例
  4. 通过 Connection 实例获取 Statement 实例
  5. 通过 Statement 实例操作数据库,并返回 ResultSet
  6. 通过 ResultSet 获取查询的数据
  7. 依次关闭 ResultSet、Statement、Connection

注意

我在上面的总结中,总结的是使用 JDBC 查询的操作,当然,除此之外,还可以利用 JDBC 进行插入数据、更新数据操作。

而这不同操作的区别在于使用不同的 Statement 方法:

  1. ResultSet executeQuery(String sqlString):执行查询数据库的 SQL 语句,返回一个结果集(ResultSet)对象。
  2. int executeUpdate(String sqlString):用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL 语句,如:CREATE TABLE 和 DROP TABLE 等,返回操作影响的行数。 
  3. boolean execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句,返回一个 boolean 值。

 

参考网站

http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html

http://www.cnblogs.com/lee/archive/2007/08/25/869656.html

 

以上是关于使用 JDBC 连接 MySQL 数据库并进行数据查询操作的主要内容,如果未能解决你的问题,请参考以下文章

Java连接mysql数据库并进行内容查询

Android + jdbc连接云服务器的MySQL并采用ListView查看数据

JDBC连接MySQL数据库基础

JDBC连接MySQL数据库基础

Spring Boot入门系列七(SpringBoot 使用JDBC连接Mysql数据库)

使用jdbc连接数据库