`
dbjoy
  • 浏览: 9504 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

开篇-从JDBC开始

阅读更多

     使用Java已经两年多时间,从未深入地学习过某个专门的东西,一直都是工作中用到什么,然后学什么,似乎什么都懂得一点,其实是啥都不懂。于是,有这样的念头,深入学习一个框架,不仅掌握其应用,而且理解其原理,类似武侠小说中练好内功,有了深厚内功为基础之后,学习新的招式,一点就通。还有一个想法是,通过写博客,能让自己不断地学习和提升。

     Java开源世界有很多优秀的框架,最近自己在使用hibernate,所以选择hibernate来研究。

     Hibernate是关系与对象的映射框架(ORM),它的基础是JDBC,从最基本的JDBC开始学起。下面是一个我自己写的简单DEMO:

    

        // 注册加载jdbc驱动
     Class.forName("org.hsqldb.jdbcDriver").newInstance();

        // 创建一个到数据库的连接
     Connection conn = DriverManager.getConnection(
            "jdbc:hsqldb:hsql://localhost", "sa", "");

        // 创建一个statement
        Statement statement = conn.createStatement();

        // 使用statement对象执行SQL语句
     statement.execute("select * from events");

        // 处理结果集:打印所有行数据
     ResultSet rs = statement.getResultSet();
       while (rs.next()) {
            System.out.println("ID:" + rs.getInt(1) + " TITLE:"
                    + rs.getString(2) + " DATE:" + rs.getDate(3));

        }

        // 释放jdbc相关对象资源
     rs.close();
       statement.close();
       conn.close();

 

 

      以上是个最简单的JDBC应用,所有的JDBC应用都会有同样的这几个步骤:

  1. 注册一个JDBC驱动(使用反射动态加载一个driver实例)
  2. 建立一个到数据库的连接(应用程序要与数据库交互必须先建立一个连接)
  3. 创建一个statement对象(正如statement的中文意思:语句,这是一个用于执行SQL语句的对象)
  4. 使用statement对象执行SQL语句(如查询select)
  5. 处理语句执行的结果(ResultSet类对象用于存放查询的结果集,可通过该对象处理结果集)
  6. 释放JDBC使用到的对象资源(数据库资源是有限昂贵的,我们使用完后,要释放这些资源给其它应用使用)

 

分享到:
评论

相关推荐

    hibernate-reference-3.1.1.pdf

    在《hibernate-reference-3.1.1.pdf》文档中,开篇便引导读者进入Hibernate的世界,从一个简单的应用示例入手,逐步深入地介绍了Hibernate的核心概念和技术细节。首先,文档通过“第一个Hibernate应用”这一章节,让...

    Spring Boot 实战开发2022年

    │ 开篇词 从零开始:为什么要学习 Spring Boot?.mp4 │ 01 家族生态:如何正确理解 Spring 家族的技术体系?.mp4 │ 02 案例驱动:如何剖析一个 Spring Web 应用程序?.mp4 │ 03 多维配置:如何使用 Spring ...

    spring-reference.pdf

    在《Spring框架2.5版参考手册》中,开篇即为我们描绘了一个全面而深入的Spring框架世界。Spring框架是Java平台上的一个开源框架,用于简化企业级应用的开发。该框架的核心特性包括依赖注入(Dependency Injection,...

    java视频教程Day01 免费

    1. Java Getting Started (Java课程简介及开篇) 2. Identifier,keyword and types (标示符, 关键字和数据类型) 3. Expression and Flow Control (表达式和流控制) 4. Array (数组) 5. Object-Oriented ...

    最新2020Java学习路线

    从零基础开始学习,第一阶段:Java开篇,第二阶段:Java语言语法,第三阶段:集成开发工具的使用,第四阶段:面向对象,第五Javase进阶,第6阶段 :数据库+JDBC,第7阶段 :前端精讲,第8阶段 :算法篇,第9阶段 :...

    Apress.Spring.Persistence – A.Running.Start.Feb.2009.pdf

    《Spring Persistence:A Running Start》一书深入探讨了如何在Spring框架中实现持久化操作,为读者提供了从理论到实践的全面指南。本书通过详细解释Spring框架与持久化技术的结合,帮助开发者理解和掌握如何利用...

    jsp入门教程

    - **使用JDBC操作数据库**:详细介绍如何使用JDBC进行数据库连接和操作。 #### 第6章 贴近Servlet - **Servlet的概念**:理解Servlet的基础知识,包括其生命周期和工作原理。 - **JSP与Servlet的关系**:比较JSP和...

    01 开篇在Spring Boot,Spring Cloud大行其道的今天Spring 过时了吗?慕课专栏(1)1

    实际上,Spring 框架是 Spring Boot 和 Spring Cloud 的基础,它为开发者提供了广泛的支持,包括依赖注入、模块化的功能,如 Spring JDBC、Spring MVC、Spring Security、Spring AOP、Spring ORM 和 Spring Test。...

    基于JAVA的农产品仓库管理系统.pdf

    JDBC-ODBC桥驱动是一种数据库连接技术,它允许Java程序通过ODBC(Open Database Connectivity)接口与各种数据库进行交互。然而,由于JDBC-ODBC桥驱动性能的局限性,以及对64位操作系统的支持不足,现代开发中更倾向...

    jsp入门教程 新手必看

    - **结合JavaBean实现CRUD**:讲解如何使用JavaBean进行数据的增删查改(Create、Read、Update、Delete),并利用JDBC操作数据库。 - **JSP与Servlet的关系**:分析JSP与Servlet的联系和区别,以及如何使用Servlet...

    WSAD开发EJB.pdf

    - **服务器端组件架构**:本书开篇就提到了服务器端组件架构的重要性,特别是对于企业级应用而言,这种架构可以提供高度的可伸缩性和灵活性。 - **对象分布**:EJB支持分布式环境下的对象通信,使得部署于不同位置...

    Spring in Action

    - **背景介绍**:“Spring in Action”这本书开篇即提出了为何选择Spring这一问题。在J2EE开发领域,Spring框架提供了一种更加简洁、高效的开发方式,极大地简化了企业级应用的开发过程。 - **Spring的承诺**:...

    MyBatis源码浅析(一)开篇

    MyBatis是一个轻量级的持久层框架,其核心功能在于简化SQL操作,将数据库查询与业务代码分离。源码分析对于理解MyBatis的工作原理至关...同时,这也为理解其他类似框架如Spring JDBC、Hibernate等打下了坚实的基础。

    java 开发实战经典

    这个课程从基础开始,逐步引导学习者进入Java的世界。"Java学习概述笔记"这部分内容,作为课程的开篇,旨在为初学者提供一个全面的Java学习视角,帮助他们了解Java的核心概念,以及如何在实际项目中应用这些知识。 ...

    spring文档4.3.x版本

    文档开篇通常会介绍Spring框架的基本概念,比如如何开始使用Spring、Spring框架的简介以及框架模块概览。Spring框架由多个模块构成,每个模块负责不同方面的功能: 1. Core Container(核心容器):包括核心、Bean...

    网页教程《跟姐姐学JSP》

    1. 开始编写jsp 1.1. 开篇第一个jsp 1.2. B/S结构,请求与响应 2. 让jsp说hello 2.1. 另一个简单jsp 2.2. 中文乱码 2.2.1. 先解决响应中的乱码 2.2.2. POST乱码 2.2.3. GET乱码 3. 请求的跳转与转发 3.1. ...

Global site tag (gtag.js) - Google Analytics