日期:2014-05-16  浏览次数:20376 次

JDBC学习之取得连接

一、JDBC

?

?JDBC(Java Database Connectivity)是SUN公司为了简化和统一对数据库的操作而制定的一种规范,提供了一套完整的与具体数据库无关操作数据库的接口,允许用户操作底层数据库。

?

二、JDBC架构

?

三、Java应用通过JDBC连接数据库(以Mysql为例)

?

? ? ? ?? 1、首先要将JDBC驱动程序加载到内存中

?

? ? ? ? ? ? ? ? ? Java api中提供了一个DriverManager类可以加载驱动程序。

? ? ? ? ? ? ? ? ? 通过DriverManager.registerDriver(Driver driver)即可加载驱动,

? ?但该方法不建议使用,其原因如下:

?

? ? ? ? ? ? ? ? ? ? ? ? ??<1>、该方式加载驱动会导致驱动被注册两次,内存中会产生两个

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Driver对象

? ?<2>、程序依赖于具体数据库的api,替换底层数据库较麻烦

?

? ? ? ? ? ? ? ? ? ? 另一种方式是通过Class.forName("com.mysql.jdbc.Driver"),该种

? ? ? ? ? ? ? 方式只在内存中产生一个驱动对象,而传入的参数也仅依赖一个字符串

? ? ? ? ? ? ? ? ? ? ?程序的灵活性更高。

?

? ? ? ?2、取得一个数据库的连接对象(Connection)

?

? ? ? ? ? ? ? ? ?通过DriverManager.getConnection(String url,String

? ? ? ? ? ? username,String password)方法可获得一个数据库连接对象.

?

? url--------->>数据库URL连接地址(url用于标识数据库的位置,即程

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??序要连接的数据库,url的写法:

? jdbc:mysql:[]//localhost:3306/mydb?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? paramName=paramValue)

?

<1>、jdbc:----->协议

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <2>、mysql:[] ---->自协议

?

<3>、localhost:3306---->主机:端口号

?

<4>、mydb---->数据库

?

? <5>、可将username和password添加到url地址中,然后调

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用DriverManager.getConnection(String url)方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 取得一个Connection对象,此时的url写法为:

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? jdbc:mysql://localhost:3306/mydb?

? ? ??username="admin"&password="123"

? ? ?

?

? ? ? ? ? ? ? ? ? username------>>数据库用户名

?

? ? ? ? ? ?