zoukankan      html  css  js  c++  java
  • JDBC编程:获取数据库连接

      JDBC(Java Database Connectivity),即Java数据库连接。通过JDBC编程,可以使Java应用程序和数据库进行交互。

      JDBC驱动的方式有很多种,我们常用的驱动方式为:本地协议的纯Java驱动程序

      JDBC编程的第一步,就是要获取数据库连接。所谓的 “获取数据库连接” 其实就是创建java.sql.Connection接口的实现对象。通过Connection的实现对象,可以使Java程序连接到数据库,并修改和获取数据库信息。

      获取数据库连接有两种方式:1.通过java.sql.Driver接口获取数据库连接,2.通过java.sql.DriverManager(驱动管理类)获取数据库连接。

      为了使程序更具有通用性,我们可以通过读取配置文件的方式来获取连接数据库所需要的信息。这样可以通过修改配置文件的方式,使Java程序连接到不同的数据库。

      在进行JDBC编程前,要先导入数据库厂商提供的JDBC驱动程序

      以下是获取数据库连接的两种方式的程序演示。

    [1] 通过java.sql.Driver接口获取数据库连接

     1 /**
     2  * 1.通过java.sql.Driver接口获取数据库连接
     3  * 2.使用配置文件读取连接信息,使程序更加灵活
     4  */
     5 package com.pack02;
     6 
     7 import java.io.InputStream;
     8 import java.sql.Connection;
     9 import java.sql.Driver;
    10 import java.util.Properties;
    11 
    12 import org.junit.Test;
    13 
    14 public class TestDriver {
    15 
    16     @Test
    17     public void testDriver() throws Exception {
    18         
    19         //1.将配置文件中的连接信息获取到Properties对象中
    20         InputStream is = 
    21                 this.getClass().getClassLoader().getResourceAsStream("setting.properties");
    22         
    23         Properties setting = new Properties();
    24         setting.load(is);
    25         
    26         //2.从Properties对象中读取需要的连接信息
    27         String driverName = setting.getProperty("driver");
    28         String url = setting.getProperty("url");
    29         String user = setting.getProperty("user");
    30         String password = setting.getProperty("password");
    31         
    32         //3.创建Driver对象
    33         Driver driver = (Driver)Class.forName(driverName).newInstance();
    34         
    35         Properties info = new Properties(); //driver的connect方法中需要一个Properties型的参数
    36         info.put("user", user);
    37         info.put("password", password);
    38         
    39         //4.使用driver的connect方法获取数据库连接
    40         Connection conn = driver.connect(url, info);
    41         System.out.println( conn );
    42     }
    43 }

    [2] 通过java.sql.DriverManager(驱动管理类)获取数据库连接

     1 /**
     2  * 1.通过java.sql.DriverManager(驱动程序管理类)获取数据库连接
     3  * 2.使用配置文件读取连接信息,使程序更加灵活
     4  */
     5 package com.pack02;
     6 
     7 import java.io.InputStream;
     8 import java.sql.Connection;
     9 import java.sql.DriverManager;
    10 import java.util.Properties;
    11 
    12 import org.junit.Test;
    13 
    14 public class TestDriverManager {
    15     
    16     @Test
    17     public void testDriverManager() throws Exception {
    18         
    19         //1.将配置文件中的连接信息获取到Properties对象中
    20         InputStream is = 
    21                 this.getClass().getClassLoader().getResourceAsStream("setting.properties");
    22                 
    23         Properties setting = new Properties();
    24         setting.load(is);
    25                 
    26         //2.从Properties对象中读取需要的连接信息
    27         String driverName = setting.getProperty("driver");
    28         String url = setting.getProperty("url");
    29         String user = setting.getProperty("user");
    30         String password = setting.getProperty("password");
    31         
    32         //3.加载驱动程序,即将数据库厂商提供的Driver接口实现类加载进内存;
    33         //  该驱动类中的静态代码块包含有注册驱动的程序,在加载类时将被执行
    34         Class.forName(driverName);
    35         
    36         //4.通过DriverManager类的静态方法getConnection获取数据连接
    37         Connection conn = DriverManager.getConnection(url, user, password);
    38         System.out.println( conn );
    39     }
    40 }

    [3] 配置文件中需要的连接信息

    1 driver=com.mysql.cj.jdbc.Driver
    2 url=jdbc:mysql://127.0.0.1:3306/[....1....]?serverTimezone=GMT%2B8&useSSL=false
    3 user=root
    4 password=[....2....]

      注意:1. 上述信息中,[....1....] 替换成具体的数据库名称,[....2....] 替换成root密码。

         2. 在连接高版本的 MySQL 数据库时,要注意 driver 的包路径 (高版本MySQL多了 “cj” ),url 连接地址的补充信息。(笔者的MySQL版本为8.0)

    注:希望与各位读者相互交流,共同学习进步。

  • 相关阅读:
    tomcat修改端口
    JSP_大并发_秒杀
    Nexus刷官方下载的映像_occam
    Nexus杂
    多项式ADT加法乘法——数组实现
    单链表——游标实现
    链表基本操作实现
    二叉查找树
    AVL树
    ORM框架疏理——廖雪峰实战系列(一)
  • 原文地址:https://www.cnblogs.com/EarthPioneer/p/9500267.html
Copyright © 2011-2022 走看看