一、JDBC简介
java数据库连接技术(Java Database Connection,JDBC)是由java提供的一组与平台无关的数据库的操作标准,其本身由一类与接口组成,并且在操作中将按照严格的顺序执行。由于数据库属于资源操作,所以所有的数据库操作的最后必须要关闭数据库连接。
下面为大家介绍JDBC的四种驱动,主要是为了普及一下知识,心急的小伙伴可以直接跳过,我们讲解的是JDBC本地驱动。
1.JDBC-ODBC桥接技术
Windows中的开放数据库连接(Open Database Connectivity,ODBC)是由微软提供的数据库编程接口。JDBC-ODBC桥接技术是先利用ODBC技术作为数据库的连接方式,再利用JDBC进行ODBC的连接,以实现数据库的操作。此类操作由于中间会使用ODBC,所以性能较差,但是此种方式不需要任何第三方开发包配置,所以使用较为方便。
2.JDBC本地驱动(本文讲解此方法)
JDBC本地驱动是由不同的数据库生产商根据JDBC定义的操作标准实现各自的驱动程序,程序可以直接通过JDBC进行数据库的连接操作。该操作性能较高,但是需要针对不同的数据库配置与之匹配。
3.JDBC网络驱动
JDBC网络驱动将利用特定的数据库连接协议进行数据库的网络连接,这样可以连接任何一个指定服务器的数据库,使用起来较为灵活,在实际开发中被广泛使用。
4.JDBC协议驱动
JDBC协议驱动是利用JDBC提供的协议标准,将数据库的操作以特定的网络协议的方式进行处理。
二、连接前配置
在连接数据库之前要进行一些Sql Server配置。
1.打开Sql Server配置管理器。
数据库版本 | 文件所在位置 |
Sql Server 2016 | C:\Windows\SysWOW64\SQLServerManager13.msc |
Sql Server 2014 | C:\Windows\SysWOW64\SQLServerManager12.msc |
Sql Server 2012 | C:\Windows\SysWOW64\SQLServerManager11.msc |
Sql Server 2008 | C:\Windows\SysWOW64\SQLServerManager10.msc |
根据上表种对应的版本找到相应文件的启动位置打开配置管理器。
也可以根据对应版本直接在微软小娜种搜索配置管理器名称,如:SQLServerManager10.msc 进行打开。
2.打开TCP/IP协议
找到你的Sql Server实例,双击打开TCP/IP协议,查看端口号。默认为1433,我的之前改过为1909。如果TCP/IP协议显示禁用,要将其启用。
3.修改Sql Server登陆设置
打开Sql Server,右击数据库实例名,点击属性,进入安全性选项。将服务器身份验证模式改为Ser Server和Windows验证模式(s)并修改超级管理员sa的密码,相信使用过Sql Server的小伙伴都进行过这项设置。以前改过的就可以跳过了。
找到安全性->登录名->sa,右键选择属性可以更改密码
然后选择状态,设置允许连接到数据库引擎
Sql Server配置到此结束,下面到微软官网下载所需JDBC库
https://www.microsoft.com/zh-CN/download/details.aspx?id=11774
解压后找到jre文件夹,如果你的JDK是1.80以上的就使用jre8里面的sqljdbc42.jar,如果是1.80以下的就使用jre7里面的sqljdbc41.jar
进入eclipse,右键当前工程文件,选择Properties,找到Java Build Path下面的Libraries,然后点击Add External JARs,根据JDK版本选择sqljdbc42.jar或sqljdbc41.jar,最后点击Apply And Close。连接前的配置工作到这里就结束了。
三、连接数据库
正如我们介绍JDBC时所说的,本篇文章针对的是本地驱动,因此需要先通过反射加载数据库驱动程序,然后通过DriverManager类根据指定的数据库连接地址、用户名、密码就可以取得数据库连接了。下面会在程序中详细介绍
package com.tjut.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Test02 {
//SQLServer本地驱动的地址
private static final String DBDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//连接sqlserver数据库;本地连接;通过1909号端口号连接(根据你自身数据库的端口号来),数据库名称DBMS
//你需要现在Sql Server客户端上建立一个数据库
private static final String DBURL = "jdbc:sqlserver://localhost:1909;databaseName=DBMS";
private static final String USER = "sa";//数据库用户名
private static final String PASSWORD = "1097542073";//数据库密码
public static void main(String[] args) throws Exception {
//第一步:加载数据库驱动程序,此时不需要实例化,因为会由容器自己负责
Class.forName(DBDRIVER);
//第二步:根据连接协议、用户名、密码连接数据库
Connection conn = DriverManager.getConnection(DBURL,USER,PASSWORD);
System.out.println(conn);//输出数据库连接
}
}
注:执行此代码时需保证Sql Server数据库是打开的并且已登陆,否则连谁呢
执行代码后输出以下字样则证明已连接成功,如果想了解更多数据库操作请阅读java数据库编程(二) 数据库操作