码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2017-10-30 14:33:24      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:git   drop   manager   mil   不同的   mys   query   数据库连接   localhost   

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 数据库并进行数据查询操作

标签:git   drop   manager   mil   不同的   mys   query   数据库连接   localhost   

原文地址:http://www.cnblogs.com/cjl21/p/7753868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!