蓝桥杯Java课程学习——JDBC(一)

蓝桥杯Java课程学习——JDBC(一)



JDBC 连接数据库

涉及到建立一个 JDBC 连接的编程主要有四个步骤:

  1. 导入 JDBC 驱动: 只有拥有了驱动程序我们才可以注册驱动程序完成连接的其他步骤。
  2. 注册 JDBC 驱动程序:这一步会导致 JVM 加载所需的驱动类实现到内存中,然后才可以实现 JDBC 请求。
  3. 数据库 URL 指定:创建具有正确格式的地址,指向到要连接的数据库。
  4. 创建连接对象:最后,代码调用 DriverManager 对象的 getConnection() 方法来建立实际的数据库连接。

导入 JDBC 驱动

需要下载对应数据库的 jdbc 驱动,将其导入到项目中

注册 JDBC 驱动程序

我们在使用驱动程序之前,必须注册你的驱动程序。注册驱动程序的本质就是将我们将要使用的数据库的驱动类文件动态的加载到内存中,然后才能进行数据库。
比如我们使用的 Mysql 数据库。我们可以通过以下两种方式来注册我们的驱动程序。

  1. Class.forName()
    动态加载一个类最常用的方法是使用 Java 的Class.forName()方法,通过使用这个方法来将数据库的驱动类动态加载到内存中,然后我们就可以使用。

使用Class.forName()来注册 Mysql 驱动程序:

try {
   Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException ex) {
   System.out.println("Error: unable to load driver class!");
   System.exit(1);
}
  1. DriverManager.registerDriver()
Driver driver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);

指定数据库连接 URL

当加载了驱动程序,便可以使用 DriverManager.getConnection() 方法连接到数据库了。

这里给出DriverManager.getConnection() 三个重载方法:

getConnection(String url)

getConnection(String url, Properties prop)

getConnection(String url, String user, String password)

数据库的 URL 是指向数据库地址。下表列出了下来流行的 JDBC 驱动程序名和数据库的 URL。

RDBMSJDBC 驱动程序的名称URL
Mysqlcom.mysql.jdbc.Driverjdbc:mysql://hostname/ databaseName
Oracleoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@hostname:port Number:databaseName
DB2COM.ibm.db2.jdbc.net.DB2Driverjdbc:db2:hostname:port Number/databaseName
Sybasecom.sybase.jdbc.SybDriverjdbc:sybase:Tds:hostname: port Number/databaseName

创建连接对象

下面三种形式DriverManager.getConnection()方法来创建一个连接对象,以 Mysql 为例。getConnection() 最常用形式要求传递一个数据库 URL,用户名username和密码password

  1. 使用数据库 URL 的用户名和密码
String URL = "jdbc:mysql://localhost/EXAMPLE";
String USER = "username";
String PASS = "password"
Connection conn = DriverManager.getConnection(URL, USER, PASS);
  1. 只使用一个数据库 URL

然而,在这种情况下,数据库的 URL,包括用户名和密码。

String URL = "jdbc:mysql://localhost/EXAMPLE?user=root&password=0909";
//Mysql URL的参数设置详细可以查阅相关资料
Connection conn = DriverManager.getConnection(URL);
  1. 使用数据库的 URL 和一个 Properties 对象
import java.util.*;

String URL = "jdbc:mysql://localhost/EXAMPLE";
Properties pro = new Properties( );

//Properties对象,保存一组关键字-值对
pro.put( "user", "root" );
pro.put( "password", "" );

Connection conn = DriverManager.getConnection(URL, pro);
  1. 关闭 JDBC 连接
conn.close();

示例

import java.sql.*;
public class CreateDatabase{
    public static void main(String[] args){
        Connection connection = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");

            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "");

            Statement statement = connection.createStatement();

            statement.execute("create database EXAMPLE");
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }catch(SQLException e){
            e.printStackTrace();
        }finally{
            try{
                if(connection != null){
                    connection.close();
                }
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
    }
}

相关文章

蓝桥杯Java课程学习——JDBC(一)

蓝桥杯Java课程学习——JDBC(二)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值