JDBC技术(一)

JDBC 2020-03-02 136 次浏览 本文字数:3450字

本文主要内容:JDBC概念、如何通过JDBC连接MySQL数据库

JDBC

Java Database Connectivity,简称JDBC,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法

JDBC连接MySQL数据库的几种方式

方式一:创建Driver()对象
    @Test
    public void test1() throws SQLException {
        Driver driver = new com.mysql.cj.jdbc.Driver();
            //jdbc:mysql:协议 localhost:ip地址 3306:端口号 mt:数据库名 ?serverTimezone=UTC设置时区,否则报错
        String url = "jdbc:mysql://localhost:3306/mt?serverTimezone=UTC";
        //将用户名和密码封装在Properties中
        Properties info = new Properties();
        info.setProperty("user", "root");
        info.setProperty("password", "写你自己数据库密码");
        Connection conn = driver.connect(url, info);
    System.out.println(conn);
}

方式二: 通过反射获取Driver()对象,好处是不会出现第三方API
    @Test
    public void test2() throws Exception {
        //1. 获取Driver实现类的对象: 使用反射
        Class clazz = Class.forName("com.mysql.cj.jdbc.Driver");
        Driver driver = (Driver) clazz.newInstance();

        //2. 提供要连接的数据库
        String url = "jdbc:mysql://localhost:3306/mt?serverTimezone=UTC";

        //3. 提供要连接的用户名和密码
        Properties info = new Properties();
        info.setProperty("user", "root");
        info.setProperty("password", "写你自己数据库密码");

        //4. 获取连接
        Connection conn = driver.connect(url, info);
        System.out.println(conn);
}

方式三:使用DriverManger替代Driver
    @Test
    public void test3() throws Exception {
        //1. 获取Driver的实现类对象
        Class clazz = Class.forName("com.mysql.cj.jdbc.Driver");
        Driver driver = (Driver) clazz.newInstance();

        //2. 提供连接信息
        String url = "jdbc:mysql://localhost:3306/mt?serverTimezone=UTC";
        String user = "root";
        String password = "写你自己数据库密码";

        //3.注册驱动
        DriverManager.registerDriver(driver);

        //4.获取连接
        Connection conn = DriverManager.getConnection(url, user, password);
        System.out.println(conn);
}

方式四:可以只加载驱动,不再显示注册驱动
    @Test
    public void test4() throws Exception {
        //1. 提供连接信息
        String url = "jdbc:mysql://localhost:3306/mt?serverTimezone=UTC";
        String user = "root";
        String password = "写你自己数据库密码";

        //2. 加载Driver
        Class.forName("com.mysql.cj.jdbc.Driver");

        //3.获取连接
        Connection conn = DriverManager.getConnection(url, user, password);
        System.out.println(conn);
}

方式五:将数据库连接需要的4个基本信息声明在配置文件中
    @Test
    public void test5() throws Exception {
        //1. 读取配置文件中的基本信息
        InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
        Properties pros = new Properties();
        if (is != null) {
            pros.load(is);
        }

        String user = pros.getProperty("user");
        String password = pros.getProperty("password");
        String url = pros.getProperty("url");
        String driverClass = pros.getProperty("driverClass");

        //2. 加载驱动
        Class.forName(driverClass);

        //3. 获取连接
        Connection conn = DriverManager.getConnection(url, user, password);
        System.out.println(conn);
    }
}
    jdbc.properties格式如下:
        user=root
        password=你自己的数据库密码
        url=jdbc:mysql://localhost:3306/mt?serverTimezone=UTC
        driverClass=com.mysql.cj.jdbc.Driver

本文由 WarlockMarten 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。