您的位置:首页 > 编程语言 > Java开发

Java连接数据库技术JDBC

2010-12-13 14:29 363 查看

什么是JDBC

JDBC是由一组Java语言编写的类和接口组成,用来处理关系数据库!利用JDBC的API,可用Java语法去访问各种各样的SQL数据库。
个人认为:
把JDBC当做是一门连接Java程序连接数据库的技术不如把JDBC当做连接程序和数据库的桥梁。

以下我要写的例子是用纯Java的Driver来连接数据库的方式。连接的数据库是mysql。

JDBC编程步骤

1.加载数据库驱动(jar文件)
//需要下载一个数据库的jar包,并导入相应的JDBC项目中,创建路径!
Class.forName("com.mysql.jdbc.Driver");

2.获得数据库连接
DriverManager.getConnection("jdbc:mysql://Database_IP:3306/DATABASE","DATAROOT","PASSWORD");//返回Connection————获得数据库连接

3.创建语句
String sql = "SQL_TORUNNING";
向DATABASE发送一个执行语句
Statement stmt = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库.
Statement—————SQL_RUNNING!!!

4.执行查询
ResultSet rs = Statement.executeQuery(SQL_RUNNING);//执行SQL_RUNNING命令,返回ResultSet
//如果执行的数据库语句不是对数据库中的内容进行修改的话,则用 Statement.executeQuery()
//如果执行的数据库语句是修改数据库中的内容进行修改的话,则用 Statement.executeUpdate()
//当然他们返回值的类型也不同!
//根据命令的不同Statement的方法也不同

创建一个表
Statement.execute(create a table)

增删改查Insert、update、delete...
Statement.executeUpdate()

查询语句Select
Statement.executeQuery(Select);

5.遍历结果集
while(ResultSet.next()){
ResultSet.getInt(int);
ResultSet.getString(int);
......
}

6.关闭数据库连接
Connection.close();

步骤分析


(图一)

1.加载数据库驱动

我们来看图一,工厂和几个农村之间有一条河,不能够直接进行沟通,工厂就相当于一个Java程序,而几个农村就相当于不同的数据库;
工厂为B村生产一些材料,但是生产出来之后并不能直接交给B村,然后工厂的厂长就想在工厂和B村之间架设一座桥梁来运送生产出来的材料——我们大可把数据库驱动加载当做这个架设桥梁的想法。

在程序中我们要怎么做呢?
在加载数据库驱动的时候,必须要将相应的mysql-connector-java-5.0.4-bin.jar包,然后将jar包导入相应的项目中如下图



在mysql-connector-java-5.0.4-bin.jar右击建立路径,就相当于import的过程——我不确定这么说对不对,但我是这么理解的。
建立路径后,你的项目将出现一个新的文件,如下图



这样的话,你就可以顺利加载数据库驱动,否则当你在运行的时候会出现找不到Driver.class的异常,也就是无法加载数据库驱动。
Class.forName("com.mysql.jdbc.Driver");

2.获得数据库连接

既然厂长有想法和B村之间架设一座桥梁,那就要和B村商量一下啊!然后,厂长就要去河的对岸,那条河呢?就是在工厂和B村之间的那条河(这条河就相当于Database_IP),然后去找B村的村长(在这里要明白是B村的村长不是A村的,所以不能找错了!!!),找到B村村长,“我要在工厂和B村之间建设一座桥,来运输我们的东西”,下一步谈的当然是条件了,工厂老板说“我要B村出资90%,剩下的由工厂出!!”村长当然不干了,这桥当然也就没法建设了!!!所以只有当两者都满意的情况下才可以建设桥梁(比如,各处50%)其实谈条件的过程就相当于验证数据库的"DATAROOT"和"PASSWORD"!!!只有两者都正确的情况下才可以进行下一步的计划——也就是建设桥梁!!!

在程序中的过程如下:
Connection conn = null;
conn = DriverManager.getConnection("jdbc:mysql://Database_IP:3306/DATABASE","DATAROOT","PASSWORD");
//返回Connection————获得数据库连接

3.创建语句

桥已经建好了,然后工厂要准备一些卡车来运输生产的货物,然后农村需要根据不同的货物来处理这些货物,有些货物直接卸在B村就可以了,但有些货物卸在B村之后,B村要做一些处理然后运回工厂!!!

这个过程在程序是怎么体现的呢?
String sql = "SQL_TORUNNING";
向DATABASE发送一个执行语句
Statement stmt = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库.
Statement—————SQL_RUNNING!!!

4.处理数据库发送来的消息

如果工厂运输到B村的货物,只要B村的村长给工厂开一张条就行了;但也会有一些货物需要运回工厂!!

在程序中:
ResultSet rs = Statement.executeQuery(SQL_RUNNING);//执行SQL_RUNNING命令,返回ResultSet
//如果执行的数据库语句不是对数据库中的内容进行修改的话,则用 Statement.executeQuery()——需要返回一些货物
//如果执行的数据库语句是修改数据库中的内容进行修改的话,则用 Statement.executeUpdate()——开张条就行了
//当然他们返回值的类型也不同!
//根据命令的不同Statement的方法也不同

创建一个表
Statement.execute(create a table)

增删改查Insert、update、delete...
Statement.executeUpdate()

查询语句Select
Statement.executeQuery(Select);

5.处理数据库传回的内容

这个过程由工厂完成,如果是返回的一些货物的话,工厂要做一些处理。

处理的过程:
while(ResultSet.next()){
ResultSet.getInt(int);
ResultSet.getString(int);
......
}

6.关闭数据库

这样的话,工厂和B村的交易就完成,在现实世界中工厂和B村之间的桥梁不会被拆除,因为建一座桥的代价很大,但在程序和数据库之间架设一座桥梁简直太简单了,所以在这里我们要把这座桥梁拆除。

Connection.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: