`
jslfl
  • 浏览: 324800 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java&数据库浅谈

阅读更多
在程序中,不可避免的要创建对象,最直接的做法就是new的方式了,我相信这个秘密java程序员都知道,但很少有人会直接用这招了吧。
A oa = new A();
像这种代码,叫“硬编码”,偶合性高,牵一发而必动全身啊。怎样软化呢?
这时,加上配置文件,通过对类路径从文件中读取,灵活度大大提高,很好让这个问题得到改善,再有各种设计模式的提出,嗯,就相当漂亮了。当然,配置文件的作用还不只如此,在很多需要动态、灵活改变的地方都可用到。

    对于复杂的WEB业务,通过java代码能够解决,并且合理使用设计模式,灵活度也很高,但最好还是把数据处理业务放到数据库中处理,因为设计模式的使用,会写很多的类,相对还算是很复杂的了,如果在数据库中把业务处理了,只需在java程序中调用对应的存储过程或函数即可,是不是很简单啊。

     谈到数据库了,要开发数据库应用程序,必须了解在java中如何操作数据库才行。
JDBC就是一套为了完成这项任务的Java API,它支持java程序对关系数据库的访问。那么怎样实现对数据库的操作呢?一般有如下几个步骤:
1、安装驱动
在连接数据库之前,必须要安装数据库对应的驱动
Class.forName(“JDBCDriverClass”);
2、建立连接
为了连接一个数据库,需要用DriverManager类中的getConnection()与数据库建立连接(获得连接对象)
3、创建语句对象
建立连接过后,就可想象成程序和数据库之间就有了一条通道,我们可以利用这条通道通过语句对象(Statement)与数据库“交流”了。
这儿的语句对象相当于是在程序和数据库间来往的小车,它为数据库传输SQL语句,并把运行结果带回程序。
4、执行语句
对于SQL DDL或数据库更新语句,使用executeUpdate(String sql)来执行,对于数据更新后,返回影响的行数。
对于SQL查询语句使用executeQuery(String sql)来执行,查询结果返回给ResultSet对象。
5、处理结果
对于ResultSet对象中的数据,可通过移动游标取出并处理。

现在可以对数据库访问了,但对于大规模的数据处理,我们还可以进一步忧化一下:
1、新的连接下,默认是自动提交模式,每条SQL语句都作为一个单独的事务执行并提交,我们可以调用SetAutoComit(false)取消自动提交,这时,在调用commit()或rollback()之前的所有语句都被组织成一个事务。
2、Statement对象,用于执行已确定的SQL语句(静态SQL),在数据库中,每条静态SQL都会进行编译、执行,这样有可能会重复编译、执行相同(或相似)的SQL语句,是不是感觉不爽呢?
我样可以使用预编译语句对象(PreparedStatement)解决这种问题,重复执行它们时效率会有很大提高。
如:Statement st = conn.createStatement("insert into t1(id,name) values(1,"aa")");
    st = conn.createStatement("insert into t1(id,name) values(2,"bb")");
要执行这样的n条SQL语句,数据库则要分别编译、执行n次,其实这些SQL是不是相似啊,这样数据库做了很多重复的事情。
这种情况改用下面这样:
    PreparedStatement pst = conn.prepareStatement("insert into t1(id,name) values(?,?)");
数据库则只对SQL语句进行一次编译操作,再动态赋值给点位符后直接执行SQL,而Statement要编译n次,是不是要舒服多了。
利用PreparedStatement,在安全性方面也有重要作用,就是可防止SQL注入的危险操作。
   (当相对独立的、不需动态变化的SQL命令,用Statement)
3、上面的SQL语句,都是一条一条的提交给数据库,这对大量的数据处理(如对100000条数据更新命令)的效率不高,如何解决呢?JDBC中的批处理派上用场了。批处理是把非查询SQL命令成批提交给数据库,如可以一次给数据库提交100条、1000条甚至更多条SQL命令后再执行,是不是要比提交一条、执行一条,再提交一条,再执行一条这样快得多啊。
实现是通过语句对象的addBatch(sql语句)添加SQL命令,再调用语句对象的executeBatch()将多条SQL命令提交给数据库。
注意:此法只用于非查询SQL命令,即DDL和数据更新命令。

分享到:
评论

相关推荐

    浅谈Java中Mysql数据库的连接与操作.pdf

    在现代软件开发中,Java语言和MySQL数据库的结合使用是技术领域中一个非常普遍且重要的课题。Java作为一门广泛应用于商业、企业级应用开发的编程语言,其稳定性和跨平台能力使其在软件开发领域占据着举足轻重的地位...

    浅谈Java技术中的数据库应用

    Java技术在数据库应用中扮演着重要的角色,尤其是在Web应用程序中,通过B/S(浏览器/服务器)架构实现在线数据库交互。Java Database Connectivity(JDBC)是Sun Microsystems为了解决Java与不同数据库之间的通信...

    浅谈Java小程序数据库的访问方法.pdf

    Java小程序要想实现其功能,尤其是访问数据库,需要借助Java的数据库连接标准——JDBC。 JDBC(Java Database Connectivity)是一个标准的SQL数据库访问接口,它为Java程序设计人员提供了连接和操作数据库的能力。...

    浅谈Java web中基于Hashtable的数据库操作.zip

    在Java Web开发中,数据库操作是不可或缺的一部分,而基于Hashtable的数据存储和检索方式曾经是早期常用的手段之一。本文将深入探讨如何在Java Web环境中利用Hashtable进行数据库交互,并讨论其优缺点以及现代开发中...

    浅谈Java通过JDBC连接Oracle数据库技术.pdf

    浅谈Java通过JDBC连接Oracle数据库技术.pdf

    浅谈Java web中基于Hashtable的数据库操作.pdf

    本文讨论了在Java Web环境中,通过引入Hashtable来简化数据库操作的方法。Hashtable是一种数据结构,它能够存储键值对(key-value pairs),并能够快速地根据键查找对应的值。在Java中,Hashtable类提供了一个简单的...

    浅谈Java小程序数据库的访问方法.zip

    本文将深入探讨Java小程序如何访问数据库,包括基本概念、所需的库、连接池以及安全考虑。 首先,要实现Java小程序对数据库的访问,我们需要了解Java Database Connectivity (JDBC) API。JDBC是Java平台的标准接口...

    Java小程序数据库访问方法和实例.pdf

    Java小程序数据库访问方法和实例.pdf

    浅谈Java中Mysql数据库的连接与操作.zip

    在Java编程中,MySQL数据库是常用的后端存储系统,它为开发者提供了稳定、高效的数据管理功能。本篇文章将深入探讨如何在Java环境中建立与MySQL数据库的连接,并进行数据的读写操作。 首先,连接MySQL数据库需要...

    浅谈ORACLE数据库的性能优化.pdf

    Oracle内存分为系统全局区(SGA)、程序全局区(PGA)、排序区(SORT AREA)、大池(LARGE POOL)和Java语言区(JAVA POOL)。SGA是最关键的部分,它包含数据缓冲区、日志缓冲区和共享池。数据缓冲区存储从数据文件...

    浅谈java连接池

    Java 连接池是一种优化数据库访问效率的机制,它解决了在Web应用程序中频繁建立和释放数据库连接所导致的性能问题。随着B/S架构的广泛应用,Java应用程序通过JDBC(Java Database Connectivity)与数据库进行交互。...

    浅谈Oracle 11g数据库性能调整和优化.pdf

    "浅谈Oracle 11g数据库性能调整和优化" Oracle 11g数据库性能调整和优化是关系型数据库领域中的一个重要话题。随着信息化的不断深入和推进,Oracle数据库的使用率达到了半数以上,並且还在不断增长。然而,随着存储...

    浅谈Java语言评价胜出的8大技术优势

    ### 浅谈Java语言评价胜出的8大技术优势 #### 1. 强大的API支持 Java提供了非常丰富的API支持,包括网络编程中的Socket API、数据库操作中的SQL API、图形用户界面的Swing和AWT API等。这些API不仅功能强大而且...

    浅谈java获取UUID与UUID的校验

    在实际应用中,我们可以使用 UUID 来生成唯一的 ID,例如在数据库中生成一个唯一的主键。同时,我们也可以使用 UUID 来标识一些信息,例如用户的 ID、订单的 ID 等。 此外,我们还可以使用 UUID 来实现一些安全机制...

    浅谈Delphi7.0连接Oracle数据库的三种方式.pdf

    浅谈Delphi7.0连接Oracle数据库的三种方式 Delphi是Borland公司开发的一款功能强大的集成开发环境(IDE),它支持多种编程语言,包括Object Pascal、C++和Java等。Delphi7.0是Delphi的一個版本,它具有强大的数据库...

    浅谈java!

    ### Java自学之路详解 在IT行业中,Java作为一门历史悠久且广泛应用的编程语言,一直以来都是学习者们的首选之一。本文基于给定的文件信息,详细阐述Java自学过程中的一些关键知识点及学习策略,旨在帮助那些希望...

    浅谈ORACLE中基于JAVA的存储查询优化.pdf

    2. JAVA数据库功能:JAVA在数据库中的应用不仅仅局限在编写存储过程和函数,还可以用于实现复杂的业务逻辑、网络通信以及Web服务等。在Oracle中,JAVA技术的运用可以增强数据库的功能,比如使用JAVA编写触发器或存储...

    浅谈常用Java数据库连接池(小结)

    Java 数据库连接池浅谈 Java 数据库连接池是 Java 应用程序与数据库服务器之间的桥梁,通过它可以高效地与数据库服务器进行交互。下面是 Java 数据库连接池的相关知识点: 1. 数据库连接池的定义 数据库连接池是...

    浅谈Java程序员的存储过程.doc

    ### 浅谈Java程序员的存储过程 #### 一、存储过程概述 存储过程是一种预先编写的、被存储在数据库服务器中的程序,可以在数据库端执行。它们可以被看作是数据库的功能扩展,允许开发者利用数据库的强大功能来处理...

    浅谈JAVA语言的多线程技术.pdf

    浅谈JAVA语言的多线程技术 一、多线程技术的概述 JAVA语言作为一种面向对象的编程语言,它具有平台独立性、安全性、网络化、多线程、面向对象等特点。其线程机制在实践中广泛应用而受到编程者的极大关心。本文就...

Global site tag (gtag.js) - Google Analytics