jdbc回顾

  1. Load the Driver

    • Class.forName() | Class.forName().newInstance()|new DriverName()
    • 实例化时自动向DriverManager注册,不需要调用Drivermanager.registerDriver()方法
  2. Connect to the DataBase
    • DriverManager.getConnection()
  3. Execute the SQL
    • Connection.createStatement()
    • statement.executeQuery()
    • statement.executeUpdate()
  4. Retrieve the result data
    • 循环取得结果 while(rs.next())
  5. Show the result data
    • 将数据库中的各种类型转换为java中的类型(getXXX)方法
  6. Close
    • close the resuleset / close the statement / close the connection


示例代码( 注意这里没有异常处理,实际中需自己根据需要添加 ):

        // 1. 以oracle为例,加载oracle 驱动类
        // 注意这里在加载完该类后,会自动向DriverManager注册该类的一个实例
        Class.forName("oracle.jdbc.driver.OracleDriver");
        //new oracle.jdbc.driver.OracleDriver();

        String url = "";//每种类型的数据库都有其固定的url格式,按照格式来就行
        String user = "";
        String password = "";
        // 2. 获取数据库链接
        // 由于上面在加载类的过程中,已经向DriverManager中注册了,所以这里直接从DriverManager中取
        Connection conn = DriverManager.getConnection(url, user, password);

        // 3. 创建语句对象Statement
        Statement statement = conn.createStatement();

        // 4. 执行SQL语句, 并获得结果集ResultSet
        // 注意,这里的结果集游标指在第一条记录的顶部,如果想取得第一条记录,需调用next()方法
        ResultSet resultSet = statement.executeQuery("");

        // 5. 循环便利结果集
        while (resultSet.next()){
            resultSet.getString("");
            //...
        }

        // 6. 关闭连接,注意后打开的先关
        resultSet.close();
        statement.close();
        conn.close();
时间: 2024-12-25 23:16:32

jdbc回顾的相关文章

基于Java回顾之JDBC的使用详解_java

尽管在实际开发过程中,我们一般使用ORM框架来代替传统的JDBC,例如Hibernate或者iBatis,但JDBC是Java用来实现数据访问的基础,掌握它对于我们理解Java的数据操作流程很有帮助. JDBC的全称是Java Database Connectivity. JDBC对数据库进行操作的流程:•连接数据库•发送数据请求,即传统的CRUD指令•返回操作结果集JDBC中常用的对象包括:•ConnectionManager•Connection•Statement•CallableStat

简化繁琐的赋值——反射在Jdbc和Struts中的应用

缘起在Jdbc应用中,我们经常需要有这么样的一个Javabean:当我们从数据库里取值时,我们希望把对应的值赋给Javabean,而后再操作Javabean进行各种业务处理:而我们保存数据的时候,也希望把经过业务处理后的值赋给Javabean,再由该Javabean与Jdbc交互,将数据保存在数据库里. 而在Struts应用中,我们经常要跟ActionForm或DynaActionForm打交道,例如从业面取得用户输入的数据,在Struts应用中,我们实际上是从ActionForm中取得数据:而

Java的JDBC数据库访问技术

在了解JDBC之前呢,我们可以先对ODBC做一个回顾,以便于更好的理解JDBC.看名字也知道这两个关系不一般,他们实现了同样的功能,为应用程序连接和操作数据库提供支持.所以,我们先从ODBC开始. ODBC ODBC(Open Database Connectivity)是开放数据库互连的简称,是一种使用SQL的应用程序接口.它是一系列的规范和对数据库访问的API.那么API+SQL就可以执行对数据库的操作.它是不依赖于DBMS的,即通过ODBC可以以相同的方式连接大部分数据库.它包括了应用程序

Hibernate从入门到精通(一)JDBC简介

在了解Hibernate之前,我们先回顾一下传统JDBC访问数据库的相关内容.重点在于分析JDBC访问存在哪些 缺陷,这些缺陷在Hibernate中是如何思考和解决的? JDBC主要对象 DriveManager:代表驱动程序管理器 ,负责创建数据库连接 Connection:代表数据库连接 Statement:负责执行SQL语句 PrepareStatement: 继承Statement,负责执行SQL语句,具有预定义SQL语句的功能      Result:代表 SQL查询语句的查询结果集

MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

[正文] 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据库资源中间. DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式和 Active Domain Object(领域对象)模式.Data Accessor 模式实现了数据访问和业务逻辑的分离:Active Domain Object 模式实现了业务数据的对象化封装. 需要注意的是,DAO设计模式是Java EE中的设计模式

MySQL JDBC的queryTimeout的一个坑

遇到一个MySQL JDBC执行execute方法时指定queryTimeout的坑,比较恶心,算是它的BUG,也可以不算,^_^,为啥这么说?看一下下面的解释: 现象: 用同一个Connection执行大批量SQL的时候,导致了OOM现象. 细节现象描述: 1.SQL是从某个存储设备上拿到的,不会直接占用大量的内存,每次只会取最多1千条数据过去,也会判定容量不超过多少M. 2.每一批SQL执行会单独创建Statement对象,执行一批SQL后,会将这个Statement关闭掉. 3.SQL语句

MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

[正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作 一.ResultSet接口的介绍: 对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查询结果集. Statement通过以下方法执行一个查询操作: ResultSet executeQuery(String sql) throws SQLException  单词Query就是查询的意思.函数的返回类型是ResultSe

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

[正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(b

简单通用JDBC辅助类封装(实例)_java

哎,最近很好久没写点东西了,由于工作的原因,接触公司自己研发的底层orm框架,偶然发现该框架在调用jdbc操作的时候参考的是hibernate 里面的SimpleJdbcTemplate,这里我想到了在大学的时候自己用过的一个简单的jdbc封装,现在我将代码贴出来,和大家一起分享: Config类:读取同一包下的数据库连接配置文件,这样是为了更好的通用性考虑 package com.tly.dbutil; import java.io.IOException; import java.util.