Java通过JDBC连接数据库详解

Posted 一只特立独行的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java通过JDBC连接数据库详解相关的知识,希望对你有一定的参考价值。

介绍

Java目前主要是用于网络编程,作为server方负责为客户或者浏览器提供服务,这不可避免需要连接数据库。
Java对数据库的连接过程如下图所示:
在这里插入图片描述上图就是Java连接数据库的简要过程,接下来逐步分析。

JDBC(Java DataBase Connectivity)

在应用程序与数据库连接需要驱动程序协调,但是由于数据库不同导致需要的驱动程序不同。如果手工配置驱动程序,那么会显得十分麻烦,所以Java提供了JDBC,里面提供了大部分数据库的驱动程序。当应用程序需要调用数据库时,只需要加载JDBC就可以实现和数据库的连接,而不需关心加载哪个驱动。

JDBC可以在Java的官网进行下载:
https://dev.mysql.com/downloads/connector/j/.

下载完成后,将JDBC压缩包放到源程序的外部库文件夹下
在这里插入图片描述然后就可以开始使用Java连接数据库。

连接流程

在JDBC放置后,就可以开始使用Java来连接数据库了。演示的数据库的内容如下,下面代码的作用是打印name列的所有名字:
在这里插入图片描述

加载驱动

启动驱动程序,这是连接数据库的基础。

        // 第一步:加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

建立连接

通过自己设立的数据库用户名和密码连接数据库,需要提供URL,格式如下:
jdbc://主机IP:端口号/数据库名字?参数1&参数2&。。。
一定要加上serverTimezone=UTC,表示采用中国时间,否则采用默认时区(不是中国时区),会出现很多奇怪的错误。

		String uri = "jdbc:mysql://localhost:3306/database1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
		//数据库用户名
        String user = "root";
        //数据库用户密码
        String password = "12345678";
        try {
        	//采用JDBC的静态类来实现连接数据库,con表示连接通道
            con = DriverManager.getConnection(uri,user,password);
        } catch (SQLException throwable) {
            throwable.printStackTrace();
        }

建立statement对象

在con连接中创建一个statement实例,来实现利用con对数据库的查询

        try {
        	//在con连接中创建一个statement实例,sql用来执行SQL语句
            sql = con.createStatement();
        } catch (SQLException throwable) {
            throwable.printStackTrace();
        }

修改数据

采用sql执行SQL语句进行管理数据库。

		//定义SQL语句
        String sqll = "SELECT * FROM employee";
        try {
        	//执行SQL语句
            ResultSet rs = sql.executeQuery(sqll);
            //rs标记当前行,这里时遍历employee表的name列的意思
            while(rs.next()){
                String name = rs.getString("name");
                System.out.println(name);
            }
        } catch (SQLException throwable) {
            throwable.printStackTrace();
        }

关闭连接对象

若操作完成后不关闭连接,在服务器连接滞留上可能会占用CPU的资源

		try {
            con.close();
        } catch (SQLException throwable) {
            throwable.printStackTrace();
        }

总结

Java连接数据库可以归纳为三个步骤:

1.加载驱动
2.创建数据库连接类con
3.采用连接类con的statement类对数据库进行操作

然后就进行操作,操作完成关闭连接就大功告成。

以上是关于Java通过JDBC连接数据库详解的主要内容,如果未能解决你的问题,请参考以下文章

JAVA通过JDBC连接Oracle数据库详解转载

使用JDBC连接数据库详解

部分代码片段

jdbc详解

Java数据库连接——JDBC调用存储过程,事务管理和高级应用

详解JDBC连接数据库