首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

JDBC学习之获得连接

2012-09-11 
JDBC学习之取得连接一、JDBC??JDBC(Java Database Connectivity)是SUN公司为了简化和统一对数据库的操作而

JDBC学习之取得连接

一、JDBC

?

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

?

二、JDBC架构

?

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------>>数据库用户名

?

? ? ? ? ? ? ? ?? password--------->>数据库连接密码

?

? ? ? ?3、取得一个数据库操作对象(Statement)

?

? ? ? ? ? ? ? ? ? 通过Connection对象的实例调用createStatement()取得一个数据库

? ? ? ? ? ? ? ? ? 操作对象。

?

? ? ? ? ? 4、通过Statement接口中提供的方法向数据库发送Sql语句

?

? ? ? ? ? ? ? ? ? ?executeQuery(String sql)方法用于向数据库发送DQL语句

?

? ? ? ? ? ? ? ? ? ?executeUpdate(String sql)方法用于向数据库发送DML语句

?

? ? ? ? ? ? 5、释放数据库资源

?

? ? ? ? ? ? ? 完成各种操作后要将数据库资源释放,即Connection、Statement、

? ? ? ResultSet等关闭

?

? ? ? ? 通过Java程序连接mysql数据库,取得一个数据库连接对象:

?

?

package com.itheima.jdbc;import java.sql.Connection;import java.sql.DriverManager;/** * 此类用于取得一个数据库连接 *  * @author dongjiejun *  */public class JDBCDemo01 {/** * 该变量表示数据库驱动 */private static final String DBDRIVER = "com.mysql.jdbc.Driver";/** * 该变量表示数据库的URL地址 */private static final String DBURL = "jdbc:mysql://localhost:3306/mydb";/** * 该变量表示数据库的用户名 */private static final String DBUSER = "root";/** * 该变量表示数据库的连接密码 */private static final String DBPASS = "admin";public static void main(String[] args) throws Exception {// 加载数据库驱动程序Class.forName(DBDRIVER);// 取得数据库连接Connection conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);System.out.println(conn);if (conn != null) {conn.close();}}}
?

? ? 输出结果:com.mysql.jdbc.Connection@10b9d04

?

?

? ? ? ? ? ??

热点排行