JavaEE学习---JDBC-基础篇

1.搭建JDBC开发环境

1.1安装数据库系统

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

我个人安装的是Mysql8.0。

以下是Mysql8.0安装教程的相关连接(安装到第36步即可):
https://mp.weixin.qq.com/s/BdkGg-dsDPEcJ_oaom_pLA

1.2安装驱动程序

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

JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

简单来说,JDBC是JAVA语言和数据库系统软件之间的桥梁。

不同数据库系统软件需要下载不同的JDBC。

为了节省大家的查找时间,我将我正在使用MySQL的JDBC驱动程序mysql-connector-java-8.0.11.jar共享给大家。

百度云链接:https://pan.baidu.com/s/1luU4MwrLif_rtNhy0V6x2w
提取码:xgc0
备用地址:https://static.runoob.com/download/mysql-connector-java-8.0.16.jar

下载完成JDBC驱动程序后,将该驱动程序mysql-connector-java-8.0.11.jar拷贝到GlassFish Server 的安装路径下(可以通过在net beans的工具-》服务器,看到服务器的安装路径)的lib子目录下即可
JavaEE学习---JDBC-基础篇

2.连接数据库

JDBC驱动有两个类负责与数据库建立连接。
1.DriverManager,它是JDBC API提供为数不多的实际类之一。
2.JDBC Driver类,它是由独立厂商提供的。

每个JDBC驱动程序使用一个专门的JDBC URL作为自我标识的一种方法。
DriverManager通过JDBC URL来选择正确的驱动程序。

JDBC URL的格式如下:
jdbc:子协议:数据库定位器

子协议与JDBC驱动程序有关,可以是ODBC、Oracle、DB2等。数据库定位器则是标识数据库的,包括主机名、端口和数据库系统名。

如果使用的是MySQL数据库,那么JDBC URL则是:
jdbc:mysql://机器名/数据库名

如果使用的是GlassFish内置的Java DB数据库,那么JDBC URL则是:
jdbc:derby://机器名/数据库名

如果使用的是Oracle数据库,那么JDBC URL则是:
jdbc:oracle:thin@机器名:端口名:数据库名

以下我将通过一个实例来说明JDBC连接数据库。首先创建web应用“DataWeb”来包含这篇博客的所有演示代码。
1:test.jsp


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
       <%
           java.sql.Connection conn=null;
           java.lang.String strConn;
           try{
           //myslq8.0以上需要在URLjdbc:mysql://localhost:3306/test加上?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong否则会出错。
           conn=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong","root","");
           
       %>
       连接mysql数据库成功!
       <%
           }catch(java.sql.SQLException e){
        out.println(e.toString());
        }finally{
           if(conn!=null) conn.close();
        }
       %>
    </body>
</html>

程序运行结果
第一次遇到了这个错误,经过查询是说mysql版本和JDBC驱动程序的版本没有对应上。比如MySQL是8.0的话,JDBC需要mysql-connector-java-8.0.11.jar及以上JDBC版本才可以。经过一番调整,还是没有解决我的问题。

最后,在一篇博客上看到,是SQL连接语句的问题。mysql8.0及以上的版本需要在URL:jdbc:mysql://localhost:3306/test加上?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong否则会出错。
mysql5.0:
conn=java.sql.DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”,“root”,"");
mysql8.0:
conn=java.sql.DriverManager.getConnection(“jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong”,“root”,"");

JavaEE学习---JDBC-基础篇
成功解决了上面的问题,然后又出现了一个小问题。
这个问题比较容易,在mysql查询语句中,输入create database test 即可。
JavaEE学习---JDBC-基础篇

最后终于成功了!

JavaEE学习---JDBC-基础篇

总结:首先调用DriverManager对象的getConnection()方法来获取数据库连接,getConnection()方法的第一个参数为JDBC URL,"jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong"代表访问的数据库类型为MySQL,数据库位于主机localhost上,数据库名为test,字符编码为UTF-8等。getConnection()方法的后两个参数代表访问数据库使用的用户名和密码。

说明:需要特别注意的是,在数据库使用完毕后,务必确保将数据库连接关闭。

上一篇:强连通分量个数的tarjan算法


下一篇:day37.Tomcat&Servlet