JavaWeb学习之JDBC API中常用的接口和类
JDBC API中包含四个常用的接口和一个类分别是:
1、Connection接口
2、Statement接口
3、PreparedStatement接口
4、ResultSet接口
5、DriverManager类
下面一一介绍这四个接口和一个类
(1)Connection接口
Connection接口位于java.sql包当中,是与数据库连接会的对象,只有获得特定的数据库连接对象,才可以访问数据库进行数据库操作。在进行数据库连接的时候还要用到DriverManager类中的getConnection(url,username,password)方法。例如:
String url = "jdbc:mysql://localhost:3306/mysqltest";
//数据库用户名
String userName = "root";
//数据库密码
String passWord = "123456";
//创建Connection连接
Connection conn = (Connection)DriverManager.getConnection(url,userName,passWord);
此外该接口中还有close()方法用于关闭数据库连接,但是该数据库还是会占用jdbc资源。
(2)DriverManager类
该类中包含了与数据库交互操作的方法,该类中的方法全部有数据库厂商提供。DriverManager类中有6个常用的也是重要的方法分别是:
public static void deregisterDriver(Driver driver) throws SQLException
该方法是从DriverManager的管理列表中删除一个驱动程序。其中driver参数是要删除的驱动对象。
public static Connection getConnection(String url) throws SQLException
该方法是根据指定数据库连接URL,建立与数据库连接Connection。其中参数url是数据库连接的URL
public static Connection getConnection(String url,Properties info)
该方法是根据指定数据库连接URL,以及数据库连接属性信息建立数据库连接Connection。其中参数url为数据库连接URL,参数info是数据库连接属性。
public static Connection getConnection(String url,String user,String password) throws SQLException
该方法是根据数据库连接URL、用户名以及密码建立数据库连接Connection。参数url是数据库连接URL,参数user是连接数据库的用户名,参数password是连接数据库的密码。
public static Enumeration<Driver>getDrivers()该方法是获取当前DriverManager中已加载的所有驱动程序,它的返回值为Enumeration。
public static void registerDriver(Driver driver) throws SQLException
该方法是向DriverManager注册一个驱动对象,参数driver是要注册的驱动。
(3)Statement接口
Statement接口是Java程序执行数据库操作的重要接口,用于已经建立数据库连接的基础之上,向数据库发送要执行的SQL语句。它用于执行不带参数的简单SQL语句。该接口中包含九个常用的重要方法。
void addBatch(String sql) throws SQLException该方法是将SQL语句添加到此Statement对象的当前命令列表中,此方法用于SQL命令的批处理。
void clearBatch() throws SQLException该方法是清空Statement对象中的命令列表。
void close() throws SQLException 该方法是立即释放此Statement对象的数据库和JDBC资源,而不是等待该对象自动关闭时发生此操作。
boolean excute(String sql) throws SQLException 该方法是执行指定的SQL语句。如果sql语句返回结果,此方法返回true,否则返回false。
int[] excuteBatch() throws SQLException 该方法是将一批SQL命令提交给数据库执行,返回更新计数组成的数组。
ResultSet excuteQuery(String sql) throws SQLException 该方法是执行查询类型(select)的SQL语句,此方法返回查询所获取的结果集ResultSet对象。
excuteUpdate int excuteUpdate(String sql) throws SQLException 该方法执行SQL语句中DML类型(insert、update、delete)的SQL语句,返回更新所影响的行数。
Connection getConnection() throws SQLException 该方法获取生成此Statement对象的Connection对象
boolean isClosed() throws SQLException 该方法用来判断Statement对象是否已被关闭,如果Statement对象被关闭,则不能再调用此Statement对象执行SQL语句,此方法返回布尔值。
(4)PreparedStatement接口
PreparedStatement接口位于java.servlet包当中,它继承了Statement,但是PreparedStatement与Statement有这两方面的不同,第一:由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象。因此,多次执行的 SQL 语句经常创建为 PreparedStatement 对象,以提高效率。
作为 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能。另外它还添加了一整套方法,用于设置发送给数据库以取代 IN 参数占位符的值。
创建过程:
PreparedStatement pstmt = con.prepareStatement("UPDATE table4 SET m = ? WHERE x = ?");
查看代码
pstmt 对象包含语句 "UPDATE table4 SET m = ? WHERE x = ?",它已发送给DBMS,并为执行作好了准备。
void setBinaryStream(int parameterIndex,InputStream x) throws SQLException 将输入流x作为SQL语句中的参数值,parameterIndex是参数位置索引。
void setBoolean(int parameterIndex,boolean x) throws SQLException 将布尔值x作为SQL语句中的参数值,parameterIndex为参数位置索引。
void setByte(int parameterIndex,byte x) throws SQLException 将byte值x作为SQL语句中的参数值,parameterIndex为参数位置的索引。
void setDate(int parameterIndex,Date x) throws SQLException 将java.sql.Date值x做为SQL语句中的参数值,parameterIndex为参数位置的索引。
void setDouble(int parameterIndex,double x) 将double值x做为SQL语句中的参数值,parameterIndex为参数索引。
void setFloat(int parameterIndex,floatx) throws SQLException 将float值x做为SQL语句中的参数值,parameterIndex为参数位置的索引。
void setInt(int parameterIndex,int x) throws SQLException 将int值x做为SQL语句中的参数值,parameterIndex为参数位置的索引。
void setInt(int parameterIndex,long x) throws SQLException 将long值x做为SQL语句中的参数值,parameterIndex为参数位置的索引。
void setObject(int parameterIndex,Object x) throws SQLException 将object对象x做为SQL语句中的参数值,parameterIndex为参数位置的索引。
void setShort(int parameterIndex,short x) throws SQLException 将short值x做为SQL语句中的参数值,parameterIndex为参数位置的索引。
void setString(int parameterIndex,String x) throws SQLException 将String值x做为SQL语句的参数值,parameterIndex为参数位置的索引。
void setTimestamp(int parameterIndex,Timestamp x) throws SQLException 将java.sql.Timestamp值x做为SQL语句中的参数值,parameterIndex为参数位置的索引。
(5)Result接口
数据库结果集的结果表,通常通过查询数据库的语句生成。
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2"); // rs will be scrollable, will not show changes made by others, // and will be updatable
查看代码
JavaWeb学习之JDBC API中常用的接口和类的更多相关文章
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- MODBUS协议解析中常用的转换帮助类(C#)
p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...
- JDBC中常用的接口
JDBC常用的接口DriverManager 驱动管理器获得数据库链接 Connection 数据库链接接口 Statement 语句接口,用来静态操作SQL语句 PreparedStatement ...
- Web API中常用Filter的执行顺序举例讲解
在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行过程拦截处理.引入了这一机制可以更好地践行DRY(Don’t Repeat Yourself)思想 ...
- Java学习笔记五:Java中常用的运算符
Java中常用的运算符 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java ...
- MySQL学习之路3-MySQL中常用数据类型
MySQL中常用数据类型 字符型 存储字符型数据.例如姓名,地址,电话号码等.使用引号括起来,一般使用单引号. 常用类型: char(255) 定长字符串,最大长度255个字符. varchar(25 ...
- 列举Java中常用的包、类和接口
常用的类: BufferedReader ,BufferedWriter FileReader ,FileWirter String ,Integer Date ,Cla ...
- Spring常用的接口和类(二)
七.BeanPostProcessor接口 当需要对受管bean进行预处理时,可以新建一个实现BeanPostProcessor接口的类,并将该类配置到Spring容器中. 实现BeanPostPro ...
- Spring常用的接口和类(一)
一.ApplicationContextAware接口 当一个类需要获取ApplicationContext实例时,可以让该类实现ApplicationContextAware接口.代码展示如下: p ...
随机推荐
- 命令行创建Maven项目卡住以及出错解决办法。
第一次通过命令行创建maven项目.结果,果不其然啊,还是出问题了,不过出问题比没有出问题强,知道哪里有问题并学会解决也是一种收获. 遇到的第一个问题,在从仓库下载东西的时候会卡住,我开始以为是网速问 ...
- 关于批量插入数据之我见(100万级别的数据,mysql) (转)
因前段时间去面试,问到如何高效向数据库插入10万条记录,之前没处理过类似问题,也没看过相关资料,结果没答上来,今天就查了些资料,总结出三种方法: 测试数据库为MySQL!!! 方法一: public ...
- DOM 对象方法
DOM 对象方法 这里提供一些您将在本教程中学到的常用方法: 方法 描述 getElementById() 返回带有指定 ID 的元素. getElementsByTagName() 返回包含带有指定 ...
- Dom-创建标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- STM32经典概述(干货 )
STM32经典概述(干货 ) 首先,在学习Cortex-M3时,我们必须要知道必要的缩略语. 在网上看的,觉得挺好的,分享过来了 整理如下: AMBA:先进单片机总线架构 ADK:AMBA设计套 ...
- webstom,zencoding,windows快捷键
1.webstorm快捷键: IntelliJ-Idea 的快捷键 Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/*…*/ ) Shift+F6 重构-重命名 Ctrl+X 删除行 C ...
- 分享一个 jmeter ant的build.xml
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-t ...
- linux下操作mysql
有关mysql数据库方面的操作,必须首先登录到mysql中. 开启MySQL服务后,使用MySQL命令可以登录.一般使用mysql -uroot -p即可.如果数据库不是本机,则需要加参数,常用参数如 ...
- 最新Windows下Redis集群
实现简单的Windows下Redis集群配置,以下是配置过程中出现的几个问题: [1]逐个启动7001 7002 7003 7004 7005 7006节点时,出现createing server T ...
- Hash表分析
http://baike.baidu.com/link?url=Ua74895uGf1NuPxB4pawmuAXedi427jJvM6aSLh_V1-23ptlMc7XIrr_cylIBn5d