Java_JDBC连接数据库

Posted 小企鹅推雪球!

tags:

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

Java_JDBC简介

  1. JDBC代表Java数据库连接(Java Data Base Connectivity),用于Java编程语言和数据库之间的数据库连接的标准API
  2. JDBC库包括常见的API有;连接到数据库,创建sql语句,在数据库中执行sql语句,查看和修改结果记录
  3. JDBC是一个连接数据库的规范,JDBC提供了一套接口取访问数据库,

Java_JDBC连接数据库

  1. 第一步:导入包:需要导入包含数据库编程所需的JDBC类的包,通过使用import java.sql.*
  2. 第二步:注册JDBC驱动程序,需要初始化驱动程序,打开与数据库的连接
  3. 第三步:打开连接,
  4. 第四步:执行sql语句,将sql语句提交到数据库并执行
  5. 第五步:从结果集中提取数据,将所需数据从结果集中检索数据
  6. 第六步:明确的关闭所有数据库资源,不依赖JVM的垃圾收集机制
package com.company;
import com.microsoft.sqlserver.jdbc.SQLServerDriver;

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

public class JDBC_03 {
    public static void main(String[] args) throws Exception {
        // JDBC driver name and database URL
        final String JDBC_SqlDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // java连接 sql server的驱动
//        final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; // Java 连接 mySql 数据库的驱动

        final String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu"; // Java连接指定数据库地址的语句

        String USER = "SA"; // 登录到数据库的用户名
        String PASS = "123456"; // 登录密码

//        第二步 注册驱动程序,注册驱动程序有两种方式:
//              第一种使用 Class.forName() 注册驱动
//              第二种使用 registerDriver() 注册驱动

//        第一种注册方法:
//        Class.forName 注册驱动程序的方式是将驱动程序的类文件加载到内存中的过程,可以将其用作JDBC接口的实现,只需要在程序中注册一次即可
        Class.forName(JDBC_SqlDriver);
//        第二种注册方法:
//        registerDriver()

        Driver myDriver = new SQLServerDriver();
        DriverManager.registerDriver(myDriver);

//        第三部:打开连接 :
        System.out.println("正在连接数据库。。。");
        Connection conn = null; // 创建连接对象
        conn = DriverManager.getConnection(DatabasesUrl,USER,PASS);

//        第四步:执行sql语句
        System.out.println("连接成功,准备执行sql语句");
//        创建 Statement 对象,用于执行sql语句
        Statement st;
        st = conn.createStatement(); // 创建执行对象Statement执行SQL语句,由Connection对象产生
//        定义执行的sql 语句
        String sql = "SELECT name, sex, nation From stuInfo";
//       executeQuery() 方法用于在数据库中执行 sql 语句,同时将数据库响应的 sql 语句结果存放在 ResultSet 类对象中供我们使用
        ResultSet rs = st.executeQuery(sql);

//        第五步:从结果集种提取数据,可以使用 getXXX()方法来检索数据
        while (rs.next()){
            String name  = rs.getString("name");
            String sex  = rs.getString("sex");
            String nation  = rs.getString("nation");
            System.out.println("name: " + name +"|" + "sex: " +"|"  + sex+ "nation:"  +"|" + nation);
        }

//        第六步:清理资源
        rs.close();//清理 返回结果集所占用的资源
        st.close();// 清理 Statement 对象所占用的资源
        conn.close(); // 清理连接数据库所占用的资源

        System.out.println("访问数据库完毕");
    }
}

Java_导入JDBC的包

  1. 使用 import导入第三方包, 导入java.sql.*包后,允许在数据库表中执行选择,插入,更新和删除数据
import java.sql.*;

Java_JDBC的驱动程序

  1. JDBC驱动程序是JDBC API种实现定义等待接口,用于和数据库服务器进行交互
  2. Sql Server的驱动程序为 com.microsoft.sqlserver.jdbc.SQLServerDriver
  3. Mysql的驱动程序为:com.mysql.jdbc.Driver
  4. JDK附带的java.sql包含各种类,java.sql中的类被定义在第三方驱动程序中完成,
  5. 第三供应商在其数据库驱动程序中实现java.sql.Driver接口

Java_使用Class.forName注册驱动程序

  1. 在使用程序之前,必须先注册该驱动程序
  2. Class.forName注册驱动程序的方式是将驱动程序的类文件加载到内存中的过程,可以将其用作JDBC接口的实现,只需要在程序中注册一次即可
 Class.forName(JDBC_SqlDriver);

Java_使用DriverManager.registerDriver()注册驱动程序

  1. 使用静态的DriverManager.registerDriver()方法注册驱动程序,
  2. 如果使用的是非JDK兼容的JVM(如Microsoft提供的JVM虚拟机),则应该使用registerDriver()方法
  Driver myDriver = new SQLServerDriver();
    DriverManager.registerDriver(myDriver);

Java_JDBC数据库配置

  1. 在加载驱动程序后,可以使用DriverManager.getConnection()方法建立连接,
  2. 三种配置方式如下
getConnection(String url)
getConnection(String url, Properties prop)
getConnection(String url, String user, String password)
	final String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu"; // Java连接指定数据库地址的语句
 	System.out.println("正在连接数据库。。。");
    Connection conn = null; // 创建连接对象
    conn = DriverManager.getConnection(DatabasesUrl,USER,PASS);
  1. 上例代码中的数据库配置是最常见的,即传入数据库地址,用户名和密码

仅使用数据库url:即在数据库地址中包含用户名和密码

 		System.out.println("正在连接数据库。。。");
        Connection conn = null; // 创建连接对象
        String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu;user=sa;password=123456";
        conn = DriverManager.getConnection(DatabasesUrl);

使用数据库url和properties对象连接数据库

DriverManager.getConnection(String url, Properties info);

Properties对象包含一组键值对,在调用getConnection()方法是,用于将驱动程序属性传递给驱动程序

		System.out.println("正在连接数据库。。。");
        Connection conn = null; // 创建连接对象
        String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu";
		Properties info = new Properties();
		info.put("user","sa");
		info.put("password","123456");
        conn = DriverManager.getConnection(DatabasesUrl,info);

Java_关闭JDBC连接

  1. 在JDBC程序结束后,显式的需要关闭与数据库的所有连接以结束每个数据库会话
  2. 如果忘记关闭连接也没有关闭,Java的垃圾收集器将会在清除过时对象时关闭这些连接
  3. 依靠垃圾收集关闭与数据库的连接不是一种十分理想的方式,所以我们使用close()方法关闭连接
//        第六步:清理资源
        rs.close();//清理 返回结果集所占用的资源
        st.close();// 清理 Statement 对象所占用的资源
        conn.close(); // 清理连接数据库所占用的资源

以上是关于Java_JDBC连接数据库的主要内容,如果未能解决你的问题,请参考以下文章

Java_JDBC连接数据库

Java_JDBC

30_数据库_第30天java_jdbc_(DBUtils)_讲义

JAVA_JDBC1

Java_JDBC使用Statement和PreparedStatement

JDBC连接数据库的几种方法