java数据库连接类使用方法

http://arthennala.blog.51cto.com/287631/66494

DriverManager类

此类用于装载驱动程序,它所有的成员都是静态成员,所以在程序中无须对它进行实例化,直接通过类名就可以访问它。

DriverManager类是JDBC的管理层,作用于用户和驱动程序间加载驱动程序

Class.forName("公司名.数据库名.驱动程序名")

如:Class.forName("sun.jdbc.odbc.jdbcOdbcDriver")

建立连接

加载Driver类并在DriverManager类注册后,就可用来与数据库建立连接。当调用Driver.Manager.getConnection()发出连连接请求时,DriverManager将检查每个驱动程序,看它是否可以建立连接。

方法:Connection getConnection(String url,String user,String password)

其中user和password是登录数据库的用户和密码

第一个参数是指向数据库的url,它的格式如下:

jdbc:(subprotocol):(subname)

subprotocol:子协议,指定连接何种数据库或用什么方式连接数据库

subname:确立一个连接,可以是一个数据源名,也可以是指向一个网上数据库

如:以下是通常用驱动程序(JDBC-ODBC桥驱动程序),并连一个student数据源,用匿名登录的的示例:

Class.forName("sun.jdbc.odbc.jdbcOdbcDriver");//加载驱动程序

String url="jdbc:odbc:student";

Connection cn=DriverManager.getConnection(url,"anonymous","");

GetConnection():返回一个连接类对象。若成功,此对象就指向此数据库的一个连接;否则,此对象将为空null

Connection类

connection类是指向同一个数据库的连接。

作用:管理指向数据库的连接,如:向数据库发送查询和接收数据库的查询结果都是在它基础上的;完成同数据库的连接的所有任务之后关闭此连接。

方法:

Statement createStatment():新建一个Statement对象,此对象可以向数据库发送查询信息

void close():关闭同数据库的连接并释放占有的JDBC资源

Boolean isClose():判断是否仍与数据库连接

Statement类

作用:Statement对象用于将SQL语句发送到数据库中。

创建Statement对象

建立了到特定数据库的连接后,就可用该连接发送SQL语句。Statement对象用Connection的方法createStatement创建。

Connection cn=DriverManager.getconnection(rul,"sunny","");

statement stmt=cn.createStatement();

为了执行Statement对象,被发送到数据库的SQL语句将被作为参数提供给Statement的方法

ResultSet rs=stmt.executeQuery("select a,b,c from table2");

使用Statement对象执行语句

Statement接口提供了三种执行SQL语句的方法

executeQuery():用于产生单个结果集的语句,如:select语句

executeUpdate():用于执行insert、update或delete、语句等,返回值是一个整数,指示受影响的行数(即更新计数)

execute():用于执行返回多个结果集、多个更新计数或二者组合的语句

语句完成

语句在已执行且所有结果返回时,即认为已完成。

对于返回一个结果集的executeQuery()方法,在检索完ResultSet对象的所有行时该语句完成。

对于方法executeUpdate(),当它执行时语句即完成

在少数调用execute()的情况下,只有在检索所有结果集或它生成的更新计数之后语句才完成

关闭Statement对象

Statement对象将由Java垃圾收集程序自动关闭。但我们最好显示地关闭它们,因为会立即释放数据管理系统资源,有助避免潜在内存问题。

主要方法

ResultSet executeQuery(String sql):返回一个静态的sql查询结果

int executeUpdate(String sql):查询一行sql声明中insert、update、delete的数目或返回0

void close():关闭同数据库的连接和所占有的JDBC资源

ResultSet类(纪录集)

作用:装载查询结果,并可以通过它的不同方法提取出查询结果。ResultSet包含符合SQL语句中条件的所有行,且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。

ResultSet.next():将纪录指针移动到ResultSet纪录集的下一行,使之成为当前行。

注:纪录集是一张二维表,其中有查询所返回的列标题及相应的值。

对于方法executeUpdate(),当它执行时语句即完成

在少数调用execute()的情况下,只有在检索所有结果集或它生成的更新计数之后语句才完成。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大内老A

如何让普通变量也支持事务回滚?

有一次和人谈起关于事务的话题,谈到怎样的资源才能事务型资源。除了我们经常使用的数据库、消息队列、事务型文件系统(TxF)以及事务性注册表(TxR)等,还有那些资...

19080
来自专栏lgp20151222

用mvc模式,整理前两次的代码并增加登陆注册

在MVC的项目中一般不会直接去访问JSP,都是通过.do来转发。 这样做的好处是: 1 所有请求全部通过action来转发,这样便于整体框架的处理。比如,可...

11120
来自专栏IT开发技术与工作效率

VBA判断是否连接公司内网/是否联网(Excel)

22420
来自专栏Java编程技术

使用数据库悲观锁实现不可重入的分布式锁

在同一个jvm进程中时,可以使用JUC提供的一些锁来解决多个线程竞争同一个共享资源时候的线程安全问题,但是当多个不同机器上的不同jvm进程共同竞争同一个共享资源...

8310
来自专栏令仔很忙

新手学JAVA(八)----走进JDBC

JDBC(Java Data Base Connectivity, Java 数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一...

10810
来自专栏landv

办公用品管理系统VB——模块

19540
来自专栏JackieZheng

RabbitMQ入门-Routing直连模式

Hello World模式,告诉我们如何一对一发送和接收消息; Work模式,告诉我们如何多管齐下高效的消费消息; Publish/Subscribe模式,告...

295100
来自专栏公众号_薛勤的博客

史上超全面的Elasticsearch使用指南

elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。

3.9K20
来自专栏swag code

JDBC一般流程

1)注册驱动,在static代码块中注册,这里用Class.forName方法来检查驱动类的方式:

16960
来自专栏Java3y

JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】

1.什么是JDBC JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API 2.为什么我们要用JDBC...

37660

扫码关注云+社区

领取腾讯云代金券