转自:http://www.qqread.com/java/2007/03/w300849_2.html
Java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接。
一、取得数据库连接
1、用DriverManager取数据库连接
例子:
String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);
|
2、用jndi(java的命名和目录服务)方式
例子:
String jndi = "jdbc/db";
Context ctx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection cn = ds.getConnection();
|
多用于jsp中。
二、执行sql语句
1、用Statement来执行sql语句
String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 执行数据查询语句(select)
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等) statement.close();
|
2、用PreparedStatement来执行sql语句
String sql;
sql = "insert into user (id,name) values (?,?)";
PreparedStatement ps = cn.prepareStatement(sql);
ps.setInt(1,xxx);
ps.setString(2,xxx);
...
ResultSet rs = ps.executeQuery(); // 查询
int c = ps.executeUpdate(); // 更新
|
三、处理执行结果
查询语句,返回记录集ResultSet。
更新语句,返回数字,表示该更新影响的记录数
ResultSet的方法
(1)next(),将游标往后移动一行,如果成功返回true;否则返回false
(2)getInt("id")或getSting("name"),返回当前游标下某个字段的值
四、释放连接
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection。
(一)可滚动、更新的记录集
1、创建可滚动、更新的Statement
Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
该Statement取得的ResultSet就是可滚动的
2、创建PreparedStatement时指定参数
PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet.absolute(9000);
|
(二)批量更新
1、Statement
Statement sm = cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()
|
一个Statement对象,可以执行多个sql语句以后,批量更新。这多个语句可以是delete、update、insert等或兼有
2、PreparedStatement
PreparedStatement ps = cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();
|
一个PreparedStatement,可以把一个sql语句,变换参数多次执行,一次更新。
(三)事务的处理
1、关闭Connection的自动提交
2、执行一系列sql语句
要点:执行每一个新的sql语句前,上一次执行sql语句的Statement(或者PreparedStatemet)必须先close
Statement sm ;
sm = cn.createStatement(insert into user...);
sm.executeUpdate();
sm.close();
sm = cn.createStatement("insert into corp...);
sm.executeUpdate();
sm.close();
|
3、提交
4、如果发生异常,那么回滚
分享到:
相关推荐
Java数据库基本操作主要涉及以下几个关键知识点: 1. **数据库连接**:在Java中,与数据库交互的第一步是建立连接。通常有两种方式: - **通过DriverManager**:首先需要加载数据库驱动(例如`Class.forName()`)...
《Java数据库应用程序编程指南》是一本深入探讨如何在Java环境中进行数据库编程的著作。随书源码包含了书中讲解的关键示例代码,以及用于创建数据库的SQL脚本,这对于读者理解和实践书中理论至关重要。通过这些资源...
12. **SQL语言**:掌握基本的SQL语法,包括SELECT、INSERT、UPDATE、DELETE以及JOIN、子查询等高级概念,是编写Java数据库应用程序的基础。 13. **批处理操作**:JDBC API也支持批处理,一次提交多个SQL语句,提高...
本文阐述了Java数据库操作的基本流程,介绍了几个常用的重要操作技巧。
Java Oracle 数据库开发指南.rar Java Oracle 数据库开发指南.rar Java Oracle 数据库开发指南.rar Java Oracle 数据库开发指南.rar Java Oracle 数据库开发指南.rar
本文将深入探讨如何使用Java进行数据库应用程序编程,特别是关于创建和管理数据库脚本的实践指南。我们将主要关注Java与Oracle数据库的交互,因为压缩包中的文件名"OracleScripts"暗示了我们讨论的是Oracle数据库的...
本指南将深入探讨如何使用Java与数据库进行交互,以创建高效、可靠的数据驱动应用。我们将主要关注Java SQL API以及JDBC(Java Database Connectivity)接口,这些都是Java程序员连接和操作数据库的基础工具。 1. *...
Java数据库应用程序编程指南是针对Java开发者的一份重要资源,它涵盖了使用Java进行数据库交互的各种技术和最佳实践。在本文中,我们将深入探讨Java数据库连接(JDBC)、数据访问对象(DAO)模式、事务管理以及SQL...
"Java数据库应用程序编程指南1"是一部针对初学者和进阶开发者设计的教程,旨在帮助读者深入理解如何利用Java与各种数据库进行交互。本指南覆盖了从基本的JDBC(Java Database Connectivity)概念到高级的数据库事务...
《Java数据库编程指南》是一本深入探讨如何使用Java进行数据库编程的专业书籍,旨在帮助开发者熟练掌握在Java应用程序中与各种数据库进行交互的技术。在Java世界里,数据库编程是不可或缺的一部分,尤其是在开发企业...
"Java数据库编程指南"主要涉及如何使用Java语言进行数据库操作,这通常涉及到JDBC(Java Database Connectivity)API,它是Java平台的标准接口,用于与各种类型的数据库进行通信。下面我们将深入探讨这个主题。 ...
《Java数据库编程指南》是一本深入探讨如何使用Java进行数据库编程的参考资料,涵盖了从基本概念到高级技术的全面内容。在Java开发中,数据库连接、数据操作和事务管理是核心部分,本指南将帮助开发者掌握这些技能。...
在Java数据库操作中,工厂模式是一种非常重要的设计模式,它在创建对象时提供了更大的灵活性和可扩展性。工厂模式的核心思想是将对象的创建过程封装起来,使得客户端无需关心具体的实现细节,只需调用工厂方法即可...
综上所述,《Java数据库编程宝典》是一本全面的指南,适合初学者和有经验的开发者,帮助他们掌握Java环境下的数据库开发技能,提升工作效率。通过深入学习和实践,读者将能更好地应对各种数据库相关的开发挑战。