码迷,mamicode.com
首页 > 数据库 > 详细

jdbc连接数据库方法及一些相关知识点

时间:2015-10-07 13:27:41      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

刚学习完java jdbc连接数据库,总结其中的2种方法

第一种:

 

代码如下:

import java.sql.Connection;
import java.sql.Driver;//
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import org.junit.Test;//

public class Demo1 {

//连接数据库的URL
private String url="jdbc:mysql://localhost:3306";//使用jdbc协议 数据库的子协议:mysql。jdbc:mysql:完整的协,主机 :localhost 端口:3306

//private String url="jdbc:mysql://localhost:3306/day17";//连接到具体数据库
private String user="root";//用户名
private String password="root";//密码
@Test
public void test1() throws Exception{

//1.创建驱动程序类对象
Driver driver=new com.mysql.jdbc.Driver();//Driver是接口   new com.mysql.jdbc.Driver是Driver接口的实现类,是驱动程序类,需要加载到工程中。(在本工程中在创建一个Folder目录,命名为lib(都可),把驱动程序(后缀为jar文件)拷贝到lib下面,然后右击此驱动程序类,点Build Path,add to Build Path)

//设置用户名和密码:
Properties pros=new Properties();//  构造方法Properties() :创建一个无默认值的空属性列表。
pros.setProperty("user", user);

/*setProperty方法:

Object setProperty(String key, String value)
          调用 Hashtable 的方法 put

*/
pros.setProperty("password", password);

//2.连接数据库
Connection conn=driver.connect(url,pros);

/*返回Connection接口,其实就是是返回Connection接口的实现类(返回接口,并且有Connection conn=接受,就是返回的实现类)

 Connection connect(String url, Properties info)
          试图创建一个到给定 URL 的数据库连接。

*/
System.out.println(conn);//如果不为空,表示连接成功
}

}

 

第二种:

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import org.junit.Test;

public class Demo1 {
private String url="jdbc:mysql://localhost:3306";
private String user="root";
private String password="root";

@Test
public void test2() throws SQLException{

//1.创建驱动程序类对象
Driver driver=new com.mysql.jdbc.Driver();

//Driver driver1=new com.oracle.jdbc.Driver();//可能注册多个驱动程序
2.注册驱动程序

/*

static void registerDriver(Driver driver)
          向 DriverManager 注册给定驱动程序。

*/
DriverManager.registerDriver(driver);

//DriverManager.registerDriver(driver1);//注册多个驱动程序
3.连接到具体的数据库

/*

 

static Connection getConnection(String url, Properties info)
          试图建立到给定数据库 URL 的连接。

*/
Connection conn= DriverManager.getConnection(url, user, password);
System.out.println(conn);

}

}

分析第二种方法:

@Test
public void test2() throws SQLException{

//1.创建驱动程序类对象
Driver driver=new com.mysql.jdbc.Driver();//进入new com.mysql.jdbc.Driver,这是Driver接口实现类,查看其源代码,如下:

//看其static静态代码块代码,即当Driver的实现类new com.mysql.jdbc.Driver一加载到java虚拟机里面,就将执行,不用创建对象即可执行。

代码中:java.sql.DriverManager.registerDriver(new Driver());  这一句,即表明,一但Driver接口的实现类new com.mysql.jdbc.Driver一加载到java虚拟机里面,就会注册一个Driver接口的实现类new com.mysql.jdbc.Driver类的对象。

/*

public class Driver extends NonRegisteringDriver implements java.sql.Driver {
// ~ Static fields/initializers
// ---------------------------------------------

//
// Register ourselves with the DriverManager
//
static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can‘t register driver!");
}
}

// ~ Constructors
// -----------------------------------------------------------

/**
* Construct a new driver and register it with DriverManager
*
* @throws SQLException
* if a database error occurs.
*/
public Driver() throws SQLException {
// Required for Class.forName().newInstance()
}
}

*/

 

 

//Driver driver1=new com.oracle.jdbc.Driver();//可能注册多个驱动程序
2.注册驱动程序

/*

static void registerDriver(Driver driver) 
          向 DriverManager 注册给定驱动程序。

*/
DriverManager.registerDriver(driver);

//DriverManager.registerDriver(driver1);//注册多个驱动程序
3.连接到具体的数据库

/*

 

static Connection getConnection(String url, Properties info) 
          试图建立到给定数据库 URL 的连接。

*/
Connection conn= DriverManager.getConnection(url, user, password);
System.out.println(conn);

}

 

  第二种方法改(简写(常用)):

public void test2() throws SQLException{
Class.forName("com.mysql.jdbc.Driver");//代码意思是得到com.mysql.jdbc.Driver类的字节码对象,得到这个类的字节码对象,其实就已经把此类加载到java虚拟机  //里面了     //通过得到字节码对象的方式加载静态代码块(加载此类),从而注册了驱动程序。
//2.连接到具体的数据库
Connection conn= DriverManager.getConnection(url, user, password);
System.out.println(conn);

}

 

 

 

.java为Java的源文件后缀,编写的代码需要写在.java文件中。
而.class是字节码文件,是.java源文件通过javac命令编译后生成的文件。
Java虚拟机就是去运行.class文件从而实现程序的运行。

jdbc连接数据库方法及一些相关知识点

标签:

原文地址:http://www.cnblogs.com/junlin7/p/4858497.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!