JDBC的URL=协议名+子协议名+数据源名。
a 协议名总是“jdbc”。
b 子协议名由JDBC驱动程序的编写者决定。
c 数据源名也可能包含用户与口令等信息;这些信息也可单独提供。
几种常见的数据库连接
-------------------------------oracle------------------
驱动:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@machine_name:port:dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1521
-------------------------------mysql-------------------
驱动:com.mysql.jdbc.Driver
URL:jdbc:mysql://machine_name:port/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认3306
---------------------------SQL Server------------------
驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver
URL:jdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname>
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1433
--------------------------DB2--------------------------
驱动:com.ibm.db2.jdbc.app.DB2Driver
URL:jdbc:db2://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是5000
-------------------------------------------------------
package com.javaxxz.jdbc;
import org.junit.Test;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DemoTest {
// jdbc协议:数据库子协议://主机:端口/连接的数据库
private String url = "jdbc:mysql://127.0.0.1:3306/day15";
private String user = "root";
private String password = "root";
@Test
public void test() throws SQLException {
// 创建驱动类程序对象
Driver driver = new com.mysql.jdbc.Driver();
//设置用户名和密码
Properties props = new Properties();
props.setProperty("user",user);
props.setProperty("password",password);
// 连接数据库,返回连接对象
Connection conn = driver.connect(url,props);
System.out.println(conn);
}
/**
* 使用驱动管理器类连接数据库
*/
@Test
public void test2() throws SQLException {
// 创建驱动类程序对象(查看源码:Driver类的静态代码块中已经对驱动程序注册了)
Driver driver = new com.mysql.jdbc.Driver();
// 注册驱动程序(可以注册多个驱动程序)
// DriverManager.registerDriver(driver); 可以省略
// 连接到具体的数据库
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
@Test
public void test3() throws Exception {
// 查看源码:Driver类的静态代码块中已经对驱动程序注册了
Driver driver = new com.mysql.jdbc.Driver();
// 静态代码块在类加载时执行
// 通过得到字节码对象的方式加载静态代码块,从而注册驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 连接到具体的数据库
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
}