本文最后更新于:1 年前

简单理解

JDBCJava 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

  1. 设置【SQL 身份验证登录】
  2. 设置【登录名 sa】 的状态为【授予】和【启用】
  3. 关闭程序

SQL Server 配置管理器

==因为SQL Server 2012装好后,默认协议是没有开启的,所以要打开SQL Server配置管理器中开启。==

  1. 打开【SQL server2017配置管理器】

  1. 启用【Named Pipes】
  2. 修改 【TCP/IP 属性】: 将【IP1 、IP10】中的【IP地址】改成【 127.0.0.1】,并将所有的【IPx】的【已启用】设置为【是】,将 【IPAII】中的【TCP端口】设成 【1433】,其余不变。

  1. 重启【SQL Server服务】

  1. 【win+r】打开【运行】,键入【cmd】,打开命令行,键入以下命令👇

    telnet 127.0.0.1 1433
  2. 提示【talent不是内部命令】,则【打开控制面版】->【程序】->【启用或关闭Windows功能】->【勾选talent】->【确定】。

  1. 重新【步骤4】,进入【telnet】。

JDBC驱动

  1. 下载驱动包:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
  2. 选择、下载【 sqljdbc_6.0.8112.200_chs.tar.gz】
  3. 解压上述压缩包,得到目录文件夹
  4. 复制【”sqljdbc_6.0\chs\jre8”】中的包【sqljdbc42.jar】,粘贴到IDE【Eclipse目录】下的【jdk1.8\jre\lib\ext】中。

  1. 右键【我的电脑】->【高级系统设置】->【系统属性】->【高级】->【环境变量】,编辑【系统变量】中的【CLASSPATH】的【变量值】,加入【;路径】(该路径为步骤4中包的完整路径,注意路径前一定要加 ;)->【确定】。

Eclipse

  1. 【右键】工程项目->【Build Path】->【Configure Build Path】

  1. 选择【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的具体实例,可以前往 这里


 目录