JDBC常见接口和类

Posted 自由乐土

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC常见接口和类相关的知识,希望对你有一定的参考价值。

在浏览本篇文章前建议先看这篇JDBC基础知识篇:
JDBC编程

下面介绍JDBC常用的接口和类:

数据库连接Connection

Connection接口实现类由数据库提供,下面主要讲获取connection对象的两种方式:
1.通过DriverManager(驱动管理类)的静态方法获取:
//加载驱动JDBC程序
Class.forName(“com.mysql.jdbc.Driver”);

加上

//创建数据库连接
Connection connection = DriverManager.getConnection(url);

2.通过DataSource(数据源)对象获取。实际应用中会使用DataSource对象。(不需要手动加载驱动)

DataSource ds = new mysqlDataSource();
((MysqlDataSource) ds).setUrl(url);
((MysqlDataSource) ds).setUser(username);
((MysqlDataSource) ds).setPassword(password);
Connection connection = ds.getConnection();

这两种方式的区别:
(1)DriverManager类来获取的Connection连接是无法重复利用的,每次使用完以后释放资源时,通过connection.close( )都是关闭物理连接。
(2)DataSource提供连接池的支持。连接池在初始化时创建一定数量的数据库连接,这些连接时可以重复利用的,每次使用完数据库连接,释放资源调用connection.close( )都是将Connection连接对象回收。

Statement对象

Statement对象主要是将SQL语句发送到数据库中。JDNV API中主要提供了三种Statement对象。

在这里插入图片描述

实际开发中最常用的是PreparedStatement对象,下面讲解如何使用PreparedStatement代替Statemnet:
当由前端传来的use和password要进行字符串的拼接时继续使用Statement可能会产生SQL注入问题,为了解决这个问题就不得不使用PreparedStatement。

String name = “bit”;
String pwd = “1234”;
String sql = “select * from user where name = ? and password = ?”;
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,name);
preparedStatement.setString(2,pwd);

此处的 ? 代表占位符
此时的结果集就应该是这样的操作:

ResultSet resultSet = preparedStatement.executeQuery();

ResultSet对象

ResultSet对象它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法提供了对这些行中的数据进行访问。

ResultSet里的数据一行一行排列,每行由多个字段,并且有一个记录指针,指针所指的数据叫做当前数据行,我们只能来操作当前数据行。我们如果想要取得某一条数据,就要使用ResultSet的next( )方法。ResultSet是从第0
行开始的哦!

以上是关于JDBC常见接口和类的主要内容,如果未能解决你的问题,请参考以下文章

JDBC常见接口和类

JDBC常见接口和类

Java教程之JDBC中的常用接口和类

哪个不是jdbc用到的接口和类

jdbc

JDBC