使用JDBC操作数据库,需要使用数据库厂商提供的驱动程序,通过驱动程序可以与数据库进行交互。
https://dev.mysql.com/downloads/connector/
https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html
https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017
https://jdbc.postgresql.org/download.html
进入下载地址:https://dev.mysql.com/downloads/connector/j/
选择:Platform Independent
TAR包是Linux操作系统下的,ZIP包是Windows操作系统下的,这里我们选择ZIP包。
示例:在Eclipse下的安装MySQL驱动。
(1)将下载后的MySQL驱动解压,得到:mysql-connector-java-8.0.14.jar驱动文件。
(2)在Java项目中创建lib文件夹,并将驱动文件放入该文件夹中。
(3)点击选中驱动文件 → 鼠标右键 → 构建路径 → 添加至构建路径。
英文版的Eclipse:点击选择驱动文件 → 鼠标右键 → Build Path → Add to Build Path。
示例:在Intellij IDEA下的安装MySQL驱动。
(1)菜单选择:File → Project Stucture(快捷键:Ctrl+Alt+Shift+S)
(2)打开Project Stucture项目结构窗体后,选择:Modules → Dependencies →
(3)然后选择JDBC驱动文件:mysql-connector-java-8.0.14.jar。
(4)最后点击“OK”即可,在项目的External Libraries下就能看的加载的JDBC驱动(如下图)。
在pom.xml配置文件中,添加如下依赖:
mysql
mysql-connector-java
8.0.19
driverClass:com.mysql.jdbc.Driver 或者 com.mysql.cj.jdbc.Driver
url:jdbc:mysql://localhost:3306/mydb
说明:
com.mysql.jdbc.Driver驱动是mysql-connector-java 5中的
com.mysql.cj.jdbc.Driver驱动是mysql-connector-java 6以上版本的
有的时候,mysql的驱动类也会看到使用org.gjt.mm.mysql.Driver的情况,org.gjt.mm.mysql.Driver是早期的驱动名称,后来就改名为com.mysql.jdbc.Driver,现在一般都推荐使用 com.mysql.jdbc.Driver。在最新版本的mysql jdbc驱动中,为了保持对老版本的兼容,仍然保留了org.gjt.mm.mysql.Driver,但是实际上 org.gjt.mm.mysql.Driver中调用了com.mysql.jdbc.Driver,因此现在这两个驱动没有什么区别。
driverClass:oracle.jdbc.driver.OracleDriver
url:jdbc:oracle:thin:@127.0.0.1:1521:dbname
driverClass:com.ibm.db2.jcc.DB2Driver
url:jdbc:db2://127.0.0.1:50000/dbname
driverClass:com.sybase.jdbc.SybDriver
url:jdbc:sybase:Tds:localhost:5007/dbname
driverClass:org.postgresql.Driver
url:jdbc:postgresql://localhost/dbname
driverClass:com.microsoft.jdbc.sqlserver.SQLServerDriver
url:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname
driverClass:com.microsoft.sqlserver.jdbc.SQLServerDriver
url:jdbc:sqlserver://localhost:1433; DatabaseName=dbname
说明:
SQL Server2000和2005的驱动是有区别的,使用错误的时候,会出现下面这个错误。java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]
示例:使用JDBC连接MySQL数据库。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* 使用JDBC连接MySQL数据库
*
* @author pan_junbiao
*/
public class ConnTest
{
public static void main(String[] args)
{
try
{
// 加载数据库驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库驱动加载成功");
// 获取数据库连接对象
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/db_admin?serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf8&useSSL=false",
"root", "123456");
System.out.println("数据库连接成功");
} catch (ClassNotFoundException cnfe)
{
cnfe.printStackTrace();
} catch (SQLException sqle)
{
sqle.printStackTrace();
}
}
}
执行结果: