JDBC的使用方式

来源:互联网 发布:算法精解:c语言描述pdf 编辑:程序博客网 时间:2024/05/16 16:22
1,JDBC定义

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API

                  可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.


2,JDBC的优点

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问MySql数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问DB2数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

我们可以通过下面一个图来更加清楚的说明JDBC的优点

在上图中,出现了驱动,那么驱动是什么哪?

驱动:两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,

设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信

今天我们使用的是mysql的驱动mysql-connector-java-5.1.28-bin.jar


3,JDBC作用

能过上面介绍,我们知道了,如果要java语言来操作数据库,就需要使用JDBC,那么我们使用JDBC到底可以做些什么操作哪?

       简单的说,通过JDBC我们可以做三件事:

n 与数据库建立连接

n 发送sql语句给数据库

n 处理返回数据集


4,JDBC API常用类与接口

在java体系结构中,有这样两个包是与jdbc有关的

       java.sql.*    javax.sql.*

在java.sql.*包下有以下类与接口,是我们在使用jdbc时需要用到的。

       DriverManager类:它主要用于管理驱动

       Connection接口:它用于与数据库建立连接

       Statement接口:它用于向数据库发送sql语句

PreparedStatement接口:它是Statement的子接口,它提供了预编译功能

CallableStatement接口:它是PreparedStatement的子接口,它用于处理存储过程

ResultSet接口:它用封装查询操作返回的结果信息。


5,使用步骤

a)        通过DriverManger注册驱动

b)       通过DriverManager获取连接对象Connection

c)        通过Connection获取一个可以向数据库发送sql语句的对象Statement       

d)       通过Statement对象执行sql语句(select) 得到一个结果集ResultSet                          

e)        遍历结果集ResultSet,得到数据表中的数据

f)        释放资源

6,代码实现

public static void findUserList() throws SQLException{// 1.通过DriverManger注册驱动DriverManager.registerDriver(new Driver());// 2.通过DriverManager获取连接对象Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/xxxx", "xxxx", "xxxx");// 3.通过Connection获取一个操作sql语句的对象StatementStatement statement = connection.createStatement();// 4.执行sql语句(select) 得到一个ResultSetString sql = "SELECT * FROM ni_tweet";ResultSet resultSet = statement.executeQuery(sql);// 5.操作结果集,得到数据while(resultSet.next()){int tweetId = resultSet.getInt("tweetId");String tweetTitle = resultSet.getString("tweetTitle");String author = resultSet.getString("author");String tweetUrl = resultSet.getString("tweetUrl");System.out.println(tweetId+"--"+tweetTitle+"--"+author+"--"+tweetUrl);}// 6.释放资源resultSet.close();statement.close();connection.close();}



0 0
原创粉丝点击