本文最后更新于:1 年前
简单理解
JDBC(Java DataBase Connectivity)是 Java 和 数据库 之前的一座桥。
实则,JDBC 是用于Java编程语言和数据库之间的标准Java API。
三者之间的关系就如下图 👇
JDBC介绍
官方文档:https://www.oracle.com/technetwork/java/javase/jdbc/index.htmlJava
原文👇
译文(可能有偏差)👇
数据库连接 (JDBC)
Java 数据库连接 (JDBC) API 是 Java 编程语言与各种数据库 SQL 数据库和其他表格数据源(如电子表格或平面文件)之间的独立于数据库的连接的行业标准。JDBC API 为基于 SQL 的数据库访问提供了调用级 API。
JDBC 技术允许您使用 Java 编程语言来利用需要访问企业数据的应用程序的”一次写入,随处运行”功能。借助支持 JDBC 技术的驱动程序,即使在异构环境中,您也可以连接所有企业数据。
教程
本文环境
OS | IDE | 数据库 |
---|---|---|
Windows 10 专业版 | Eclipse(v4.11.0)—jdk8 | SQL server 2017 |
SQL Server 2017
- 设置【SQL 身份验证登录】
- 设置【登录名 sa】 的状态为【授予】和【启用】
- 关闭程序
SQL Server 配置管理器
==因为SQL Server 2012装好后,默认协议是没有开启的,所以要打开SQL Server配置管理器中开启。==
- 打开【SQL server2017配置管理器】
- 启用【Named Pipes】
- 修改 【TCP/IP 属性】: 将【IP1 、IP10】中的【IP地址】改成【 127.0.0.1】,并将所有的【IPx】的【已启用】设置为【是】,将 【IPAII】中的【TCP端口】设成 【1433】,其余不变。
- 重启【SQL Server服务】
【win+r】打开【运行】,键入【cmd】,打开命令行,键入以下命令👇
telnet 127.0.0.1 1433
提示【talent不是内部命令】,则【打开控制面版】->【程序】->【启用或关闭Windows功能】->【勾选talent】->【确定】。
- 重新【步骤4】,进入【telnet】。
JDBC驱动
- 下载驱动包:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
- 选择、下载【 sqljdbc_6.0.8112.200_chs.tar.gz】
- 解压上述压缩包,得到目录文件夹
- 复制【”sqljdbc_6.0\chs\jre8”】中的包【sqljdbc42.jar】,粘贴到IDE【Eclipse目录】下的【jdk1.8\jre\lib\ext】中。
- 右键【我的电脑】->【高级系统设置】->【系统属性】->【高级】->【环境变量】,编辑【系统变量】中的【CLASSPATH】的【变量值】,加入【;路径】(该路径为步骤4中包的完整路径,注意路径前一定要加
;
)->【确定】。
Eclipse
- 【右键】工程项目->【Build Path】->【Configure Build Path】
- 选择【Libraries】页->【Add External JARs…】->【添加】前面粘贴jar包的路径->【Apply and Close】
实践
新建一个class,复制粘贴一下代码👇
import java.sql.*;
public class JDBC_Demo {
// MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
//static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
//static final String DB_URL = "jdbc:mysql://localhost:3306/数据库名";
// MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
//static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
//static final String DB_URL = "jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=UTC";
// SQL Server数据库引擎
static final String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
// 数据源!!!注意若出现加载或者连接数据库失败一般是这里出现问题
static final String DB_URL = "dbc:sqlserver://localhost:1433;DatabaseName=数据库名"; //【1】修改 数据库名
// 数据库的用户名与密码,需要根据自己的设置
static final String Name="登录名";//【2】修改 登录名
static final String Pwd="密码";//【3】修改 密码
public static void main(String[] args) {
try
{
Class.forName(JDBC_DRIVER);
Connection conn=DriverManager.getConnection(DB_URL,Name,Pwd);
System.out.println("连接数据库成功");
}catch(Exception e){
e.printStackTrace();
System.out.println("连接失败");
}
}
}
运行截图👇
心得体会
前前后后,总计花了差不多三天的时间来研究怎么用JDBC连接数据库。
期间,遇到好多问题。问过指导老师,老师说可能是SQL Server版本的问题。
实验要求是2014,而我的是2017。但我觉得这不是问题。
反反复复地,其他都配置好了,但是总是连接不上数据库。
后来关注点放在了Eclipse的Path上,注意到我用的是jdk12,于是我想换成jdk8。
一换、一 run ……咦,可以了哈哈哈哈。
期间参考了很多人的博客,但是那些都没有强调 IDE中的环境要设置为【jdk8】。
写博客不易,如果本文对你有帮助,可以考虑给我 打赏 哦 *( ͡° ͜ʖ ͡°)✧ *
2020.2.10 补充:关于JDBC连接MySQL的具体实例,可以前往 这里
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!