JDBC连接数据库的5种方式(推荐最后一个)

 摘要:以下程序和代码中,所需要用到的数据库和相关插件没有进行提供,需要做的小伙伴可以自行搭建和下载,如果这两个都不能自行搭建下载,建议小伙伴先去学习相关知识!

一、常见的数据库连接的DRIVER和URL写法

/**
*        1、—oracle—
*/
        驱动(driverClass):oracle.jdbc.driver.OracleDriver
        URL:jdbc:oracle:thin:@localhost:1521:SID
        协议:jdbc:oracle
        ip地址:localhost
        port:端口号,默认是1521
        SID:数据库,如:orcl
/**
*       2、—mysql—
*/
        !注意这里!--MySQL 5.0--
        驱动(driverClass):com.mysql.jdbc.Driver
        URL:jdbc:mysql://localhost:3306/databaseName

        !注意这里!--MySQL 8.0--
        驱动(driverClass):com.mysql.cj.jdbc.Driver
        URL:jdbc:mysql://localhost:3306/databaseName?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true

        协议:jdbc:mysql
        ip地址:localhost
        port:端口号,默认3306
        databaseName:数据库名称,如:test
/**
*       3、—sqlserver—
*/
        驱动(driverClass):com.microsoft.sqlserver.jdbc.SQLServerDriver
        URL:jdbc:sqlserver://localhost:1433;databaseName=databaseName
        协议:jdbc:sqlserver
        ip地址:localhost
        port:端口号,默认1433
        databaseName:数据库名称,如:test

二、JDBC连接 数据库

/*
*JDBC连接数据库:方式一
*/
public void connectionTest1() throws Exception {
    //1.加载驱动:驱动怎么来的可以通过百度查询,我们不需要记住,用的时候再去找出来
    Driver driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver();
    //2.填入URL,username,password
    String url = "jdbc:sqlserver://localhost:1433;databaseName=test";
        //这里通过Properties将用户名和密码进行封装
    Properties info = new Properties();
    info.setProperty("user","sa");
    info.setProperty("password","sa");
    //3.创建连接
    Connection conn = driver.connect(url, info);
    //4.运行测试,有输出则代表连接成功
    System.out.println(conn);
    System.out.println("方式一:连接成功!");
}
/*
*JDBC连接数据库:方式二
*/
public  void connectionTest2() throws Exception{
    //1.加载驱动,通过使用反射获取Driver实现类对象
    Class clazz = Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        //强转成Driver类对象
    Driver driver = (Driver) clazz.newInstance();
    //2.填入URL,username,password
    String url = "jdbc:sqlserver://localhost:1433;databaseName=test";
        //这里通过Properties将用户名和密码进行封装
    Properties info = new Properties();
    info.setProperty("user","sa");
    info.setProperty("password","sa");
    //3.创建连接
    Connection conn = driver.connect(url,info);
    System.out.println("方式二:连接成功!");
}
/*
*JDBC连接数据库:方式三
*/
public  void connectionTest3() throws Exception{
    //1.加载驱动,通过使用反射获取Driver实现类对象
    Class clazz = Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        //强转成Driver类对象
    Driver driver = (Driver) clazz.newInstance();
    //2.填入URL,username,password
    String url = "jdbc:sqlserver://localhost:1433;databaseName=test";
    String user = "sa";
    String password="sa";
    //3.注册驱动,使用DriverManager替换Driver
    DriverManager.registerDriver(driver);
    //4.创建连接
    Connection conn = DriverManager.getConnection(url, user, password);
    System.out.println("方式三:连接成功!");
}
/*
*JDBC连接数据库:方式四
*/
public  void connectionTest4() throws Exception{
    //1.加载驱动,通过使用反射获取Driver实现类对象;原因:导入驱动后,进行数据库连接时Driver.class有一个static方法(idea:按住Ctrol+单机Driver,跳转)会自动加载。(大概这意思,知道就行)
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    //2.填入URL,username,password
    String url = "jdbc:sqlserver://localhost:1433;databaseName=test";
    String user = "sa";
    String password="sa";
    //3.创建连接
    Connection conn = DriverManager.getConnection(url, user, password);
    System.out.println("方式四:连接成功!");
}

 方式五:通过配置文件的方式,将我们所需要的信息,包括:访问地址(URL)、驱动信息(driverClass)、数据库用户(username)、数据库用户密码(password)等,保存到配置文件(例:jdbc.properties)。

好处:我们需要这些信息时,通过输入流传入即可,当需要更换新的数据库时,只需要更新配置文件的信息,就能重新连接数据库,而不需要去修改程序中的代码。

/*
*JDBC连接数据库:方式五:::重点,必须掌握
*/
public class JDBCUtils {

    /**
     * 获取数据库连接池中的连接
     * @return
     */
    public static Connection getConnection() {
        try {
            //1.通过IO流将 jdbc.properties 配置文件中的信息进行读取
                //通过使用反射技术来加载类文件进内存
            ClassLoader classLoader = JDBCUtils.class.getClassLoader();
            InputStream is = classLoader.getResourceAsStream("jdbc.properties");
            //2.get获取到的信息
            Properties prop = new Properties();
            prop.load(is);
            String driverClass = prop.getProperty("driverClass");
            String url = prop.getProperty("url");
            String username = prop.getProperty("username");
            String password = prop.getProperty("password");
            //3.加载驱动
            Class.forName(driverClass);
            //4.创建连接
            Connection conn = DriverManager.getConnection(url,username,password);
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

三、配置文件

##这个是配置文件例子,文件名+后缀:jdbc.properties
username=root
password=root
url=jdbc:mysql://localhost:3306/book?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
driverClass=com.mysql.cj.jdbc.Driver
maxActive=30
maxIdle=10
maxWait=6000

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值