ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaEE学习---JDBC-基础篇

2020-05-25 11:08:09  阅读:285  来源: 互联网

标签:JDBC 驱动程序 数据库 MySQL JavaEE 学习 jdbc mysql


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子目录下即可
在这里插入图片描述

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”,"");

在这里插入图片描述
成功解决了上面的问题,然后又出现了一个小问题。
这个问题比较容易,在mysql查询语句中,输入create database test 即可。
在这里插入图片描述

最后终于成功了!

在这里插入图片描述

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

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

标签:JDBC,驱动程序,数据库,MySQL,JavaEE,学习,jdbc,mysql
来源: https://blog.csdn.net/weixin_44337475/article/details/106317948

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有