首页 > 其他分享 >JDBC的对象说明

JDBC的对象说明

时间:2022-11-05 12:55:38浏览次数:38  
标签:语句 JDBC 对象 数据库 ResultSet 说明 Connection sql

DriverManager类讲解

Jdbc程序中的DriverManager用于加载驱动,并创建与数据库的链接,这个API的常用方法:

DriverManager.registerDriver(new Driver())
DriverManager.getConnection(url, user, password)

注意:在实际开发中并不推荐采用registerDriver方法注册驱动。原因有二:

  1. 查看Driver的源代码可以看到,如果采用此种方式,会导致驱动程序注册两次,也就是在内存中会 有两个Driver对象。

   2. 程序依赖mysql的api,脱离mysql的jar包,程序将无法编译,将来程序切换底层数据库将会非常麻 烦。

推荐方式:Class.forName("com.mysql.jdbc.Driver");

采用此种方式不会导致驱动对象在内存中重复出现,并且采用此种方式,程序仅仅只需要一个字符串, 不需要依赖具体的驱动,使程序的灵活性更高。

 

数据库URL讲解

URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:

 

 

 常用数据库URL地址的写法:

  • Oracle写法:jdbc:oracle:thin:@localhost:1521:sid
  • SqlServer写法:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
  • MySql写法:jdbc:mysql://localhost:3306/sid

如果连接的是本地的Mysql数据库,并且连接使用的端口是3306,那么的url地址可以简写为

jdbc:mysql:///数据库

 

Connection类讲解

Jdbc程序中的Connection,它用于代表数据库的链接,Collection是数据库编程中最重要的一个对象, 客户端与数据库所有交互都是通过connection对象完成的,这个对象的常用方法:

  • createStatement():创建向数据库发送sql的statement对象。
  • prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
  • setAutoCommit(boolean autoCommit):设置事务是否自动提交。
  • commit() :在链接上提交事务。
  • rollback() :在此链接上回滚事务。

 

Statement类讲解

Jdbc程序中的Statement对象用于向数据库发送SQL语句, Statement对象常用方法:

  • executeQuery(String sql) :用于向数据发送查询语句。
  • executeUpdate(String sql):用于向数据库发送insert、update或delete语句
  • execute(String sql):用于向数据库发送任意sql语句
  • addBatch(String sql) :把多条sql语句放到一个批处理中。
  • executeBatch():向数据库发送一批sql语句执行。

 

ResultSet类讲解

Jdbc程序中的ResultSet用于代表Sql语句的执行结果。Resultset封装执行结果时,采用的类似于表格的 方式。ResultSet 对象维护了一个指向表格数据行的游标,初始的时候,游标在第一行之前,调用 ResultSet.next() 方法,可以使游标指向具体的数据行,进行调用方法获取该行的数据。

ResultSet既然用于封装执行结果的,所以该对象提供的都是用于获取数据的get方法:

  • 获取任意类型的数据
    • getObject(int index)
    • getObject(string columnName)
  • 获取指定类型的数据,例如:
    • getString(int index)
    • getString(String columnName)

 

ResultSet还提供了对结果集进行滚动的方法:

  • next():移动到下一行
  • Previous():移动到前一行
  • absolute(int row):移动到指定行
  • beforeFirst():移动resultSet的最前面。
  • afterLast() :移动到resultSet的最后面。

 

释放资源

Jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通 常是ResultSet, Statement和Connection对象,特别是Connection对象,它是非常稀有的资源,用完后 必须马上释放,如果Connection不能及时、正确的关闭,极易导致系统宕机。Connection的使用原则 是尽量晚创建,尽量早的释放。

为确保资源释放代码能运行,资源释放代码也一定要放在finally语句中。

 

标签:语句,JDBC,对象,数据库,ResultSet,说明,Connection,sql
From: https://www.cnblogs.com/wyh518/p/16859888.html

相关文章

  • vue 跨域代理,对象存储(阿里云、aws)预签名上传文件
    一、安装axoios    ①、全局安装axois#全局安装axiosPSE:\Code\Vues\sha_web\sha_web>npminstallaxios--g 二、配置跨域代理    ①、配置跨......
  • JDBC介绍及第一个JDBC程序测试
    一、JDBC介绍SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jd......
  • 第三十七章 构建数据库应用程序 - 在页面上使用对象
    第三十七章构建数据库应用程序-在页面上使用对象CSP最强大的方面之一是,它允许创建可以直接与内置对象数据库交互的动态网页。这意味着可以快速构建以下数据库应用程序......
  • JAVA语言学习-面向对象(1)
    类与对象类类是JAVA语言中重要的复合型数据类型()。类的实现包括两个部分:成员变量和成员方法("方法"可以看作是C语言中的函数)类的声明要使用类,首先得对其声明。声明......
  • C++《面向对象程序设计课程设计》
    C++《面向对象程序设计课程设计》《面向对象程序设计课程设计》课程说明适用专业:计算机科学与技术课程周数:5周一、根据计算机科学与技术专业人才培养方案制订。(一)课程......
  • 对象序列化
    对象序列化一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。一个静态变量不管是否被transient修饰,均不能被序列化。第一点......
  • 首选线程池,而不是多线程; 创建线程的方法; 存储过程和for循环插入数据; String字符串一般
    首选线程池,而不是多线程首选线程池,而不是多线程/**corePoolSize:线程长期为维持线程数核心线程数,常用线程数maximumPoolSize:线程数的上限,最大线程数keepAliveTime:超过线......
  • 910006 CAD 右下侧工具栏的说明
    1、前置强制使选定对象显示在所有对象之前。使用DRAWORDERCTL系统变量控制重叠对象的默认显示行为。TEXTTOFRONT命令可将图形中的所有文字和标注置于其他对象前面。......
  • 学习笔记——base标签、加密方式、JDBC、将java中添加的数据增加到数据库中
    2022-11-03一、base标签1、作用:用于添加web项目的前缀。2、放置位置:放置在head标签内部,一般放在首行。3、使用方式:<basehref="/项目名称/">,在html网页中的其他(例如:图......
  • 910005 CAD 右侧工具栏的说明
    1、删除从图形删除对象。无需选择要删除的对象,而是可以输入一个选项,例如,输入L删除绘制的上一个对象,输入删除前一个选择集,或者输入ALL删除所有对象,还可以输入?以获得所有......