获取数据库连接 [Java][JDBC]

获取数据库连接的方式一

  • 我们要通过java.sql.Driver接口来获取数据库连接
MySQL的驱动: com.mysql.jdbc.Driver

如何建立与数据库的连接(方式一:)

  1. 创建驱动类的对象赋值给java.sql.Driver类的引用(在方式一种加载驱动我们是使用创建驱动类的对象的方式)

    • com.mysql.jdbc.Driver类实现了java.sql.Driver接口
    • 我们在创建一个类的对象的时候就会先将这个类加载到内存中来
  2. 使用驱动类的对象调用其类中的connect(String url,Properties info)方法来获取与指定数据库的连接,这里我们可以发现要提供一个String类型的对象和一个Properties类型的对象

    • String类型的url就是要定位一个JDBC驱动程序,然后通过这个JDBC驱动程序去建立与特定数据库的连接
    • Properties类的对象中要提供数据库的账号和密码
JDBC URL用于标识一个被注册的驱动程序,驱动程序管理器通过与这个URL选择正确的驱动程序,从而建立与特定数据库的连接
com.mysql.jdbc.Driver类中的connect()中的第二个Properties类的对象的作用:

将数据库的用户名和密码封装在Properties类的对象中,我们要通过调用Properties类的setProperty()方法来将用户名和密码封装到这个Properties类的对象中

  • 注意: 我们使用setProperty()方法在设置用户名时,传入的第一个参数对象必须是字符串类型的"user",如果在使用setProperty()方法设置密码时,传入的第一个参数对象必须是字符串类型的"password"
    • 因为在程序运行的使用,对于我们的connect()方法来讲,我们会对其中的Properties类的存储的数据进行提取,我们要提取出相应的用户名和密码,这个时候在connect()方法中提取用户名的时候我们通过名为user的键去查找用户名,用名为password的键去找密码
  • Properties利用String类型的键值对来对数据进行存储

JDBC URL的标准由三个部分组成,各个部分之间用冒号分隔

jdbc : mysql: //localhost:3306/test

主协议 子协议 子名称

localhost : IP地址

3306: 默认的MySQL软件的端口号

test: 具体的一个数据库(DB)

在MySQL8.0之后连接MySQL还要指定时区:在原本的基础上还要加上?serverTimezone=Asia/Shanghai
具体实际操作如下:
package jdbc.获取数据库连接的方式一;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;

public class ConnectionTest1 {
    public static void main(String[] args) throws SQLException {
        /*
        加载数据库驱动, 这里我们就是通过创建驱动类的对象从而实现了加载驱动类的操作(我们在创建一个类的对象的时候,肯定会先加载这个类到内存中)

        我们这里是创建了一个子类的对象(com.mysql.jdbc.Driver类的对象)赋给了父类(java.sql.Driver类)的引用
         */
        Driver driver = new com.mysql.cj.jdbc.Driver();

        //创建一个String类型的url,通过这个URL程序就会选择正确的驱动程序,从而建立与特定数据库的连接
        String url = "jdbc:mysql://127.0.0.1:3306/school?serverTimezone=Asia/Shanghai";

        /*
        这里我们提供一个Properties类的对象,在这个对象中我们要封装数据库的用户名和密码
         */
        Properties info = new Properties();
        info.setProperty("user","root");
        info.setProperty("password","mysql");

        /*
        调用使用多态的方式调用com.mysql.cj.jdbc.Driver类中的connect()方法,使用这个方法会返回一个java.sql.Connection接口的实例
         */
        Connection conn = driver.connect(url,info);
        
        //这里我们输出获得的连接,看看有没有输出数据来判断时候和指定的数据库连接成功
        System.out.println(conn);

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值