Java开发工程师必备技能——JDBC快速入门+程序案例(IDEA 2020)

Java开发工程师必备技能——JDBC快速入门+程序案例(IDEA 2020)

JDBC是什么?

JDBC API是一个Java API,允许用户访问各种类型表列数据,尤其是存储在关系型数据库中的数据。

执行流程:

1.连接数据源,如:数据库。

2.为数据库传递查询和更新指令。

3.处理数据库响应并返回的结果。

JDBC环境配置

先完成以下设置:

JAVA(JDK)安装

数据库系统的安装(如:MySQL的安装)

注:笔者本篇文章使用的是jdk1.8+MySQL8.0。

除了上诉环境配置外,还需要建立一个数据库。本篇文章创建的数据库:mydb,在这个数据库上创建一张表:tb_user。

在IDEA环境导入jar包:
在这里插入图片描述

创建JDBC应用程序

建立一个JDBC应用程序,本文以Java连接MySQL为例,分六个步骤进行:

1.导入包

在程序中包含数据库编程所需的JDBC类。大多数情况下可用import java.sql.*,即包含所有有关sql操作的类。

//第一步:导入包
import java.sql.*;

2.加载JDBC(MySQL)驱动程序:

//加载JDBC(MySQL)驱动程序
            Class.forName("com.mysql.jdbc.Driver");

3.获取数据库连接

使用DriverManager.getConnection()方法获取一个数据库连接,赋值给Connection创建的对象,如下所示:

static final String DB_URL = "jdbc:mysql://localhost/mydb";
static final String USER = "root";
static final String PASSWORD = "root";
Connection conn = null;
conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);

4.执行查询

创建StatementPreparedStatement对象,提交一个查询:

Statement stmt = null;
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name , sex, age FROM tb_user";
ResultSet rs = stmt.executeQuery(sql);

5.提取查询到的数据

从数据库中获取查询结果中的数据,可以使用合适的ResultSet.getXXX()的方法来检索数据:

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: "+ id +",NAME: "+name + ",SEX: " + sex +",AGE: "+age);

6.清理环境资源

在使用JDBC与数据交互操作数据库后,应明确关闭所有数据库资源以减少资源的浪费:

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

完整程序案例代码如下:

package jdbctest;
//第一步:导入包
import java.sql.*;

public class QueryTest {
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost/mydb?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC";
    static final String USER = "root";
    static final String PASSWORD = "root";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            //第二步:加载JDBC(MySQL)驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            //第三步:获取数据库连接
            conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT id, name , sex, age FROM tb_user";
            //第四步:执行查询
            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: "+ id +",NAME: "+name + ",SEX: " + sex +",AGE: "+age);
            }
            //第六步:关闭资源
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try{
                if(stmt!=null)
                    stmt.close();
            }catch(SQLException se2){
            }
            try{
                if(conn!=null)
                    conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
    }
}

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45080371/article/details/107866798