jdbc连接数据库
mysql-5.1.7驱动包(内含包mysql-connector-java-5.1.7-bin.jar+源码src):点击打开链接
jdbc接口连接数据库核心API
|- Driver接口: 表示java驱动程序接口。所有的具体的数据库厂商要来实现此接口。
|- connect(url, properties): 连接数据库的方法。
url: 连接数据库的URL
URL语法: jdbc协议:数据库子协议://主机:端口/数据库(Mysql的url地址的简写形式: jdbc:mysql:///数据库名)
user: 数据库的用户名
password: 数据库用户密码
|- DriverManager类: 驱动管理器类,用于管理所有注册的驱动程序
|-registerDriver(driver) : 注册驱动类对象
|-Connection getConnection(url,user,password); 获取连接对象
package com.cn.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
import org.junit.Test;
import com.mysql.jdbc.Driver;
/**
* Author:Liu Zhiyong(QQ:1012421396)
* Version:Version_1
* Date:2017年3月15日08:18:53
* Desc:jdbc连接数据库
*/
public class Demo1 {
/**
JDBC的URL=协议名+子协议名+数据源名。
协议名总是“jdbc”。
子协议名由JDBC驱动程序的编写者决定。
数据源名也可能包含用户与口令等信息;这些信息也可单独提供。
几种常见的数据库连接:
-------------------------------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
-------------------------------------------------------
**/
//连接数据库的url="jdbc协议:数据库子协议://主机:端口号/需要连接的数据库名";
private String url = "jdbc:mysql://localhost:3306/mydb";
private String user = "root";//数据库服务器用户名
private String password = "root";//数据库服务器密码
/**
* 方式1:实现接口
* @throws Exception
*/
@Test
public void test1() throws Exception {
//1.创建数据库驱动程序对象
Driver driver = new com.mysql.jdbc.Driver(); //新版本
// Driver driver2 = new org.gjt.mm.mysql.Driver();//旧版本
//设置用户名和密码
Properties properties = new Properties();
properties.setProperty("user", user); //注意这里Properties的key值,必须是“user”
properties.setProperty("password", password);//注意这里Properties的key值,必须是“password”
//2.连接数据库,返回连接对象
Connection conn = driver.connect(url, properties);
System.out.println(conn);
}
/**
* 方式2:使用驱动管理器类连接数据库
* @throws Exception
*/
@Test
public void test2() throws Exception {
Driver driver = new com.mysql.jdbc.Driver();
// Driver driver2 = new org.gjt.mm.mysql.Driver();
//1. 注册驱动程序(可以注册多个驱动程序)
DriverManager.registerDriver(driver);//但是这里并没有必要。因为new Driver()后,里面有静态代码块java.sql.DriverManager.registerDriver(new Driver());自己注册了自己。
// DriverManager.registerDriver(driver2); 当注册了多个驱动程序时,DriverManager会自动根据传入的url协议,来判断使用哪一个驱动连接数据库。
//2.连接到具体的数据库
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
/**
* 方式3:使用驱动管理器类连接数据库。但是少了一些多余步骤(推荐使用)
* @throws Exception
*/
@Test
public void test3() throws Exception {
//通过得到字节码对象的方式加载静态代码块,从而注册驱动程序。
Class.forName("com.mysql.jdbc.Driver");
//2.连接到具体的数据库
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
}