1、取得数据库连接
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();
2、执行sql语句
2.1用Statement来执行sql语句
String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 执行数据查询语句(select)
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close();
2.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(); // 更新
3、处理执行结果
*查询语句,返回记录集ResultSet。
*更新语句,返回数字,表示该更新影响的记录数。
ResultSet的方法:
1.next(),将游标往后移动一行,如果成功返回true;否则返回false。
2.getInt("id")或getSting("name"),返回当前游标下某个字段的值。
3.释放连接:cn.close();
一般,先关闭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的自动提交
cn.setAutoCommit(false);
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、提交
cn.commit();
4、如果发生异常,那么回滚
cn.rollback();
- 大小: 1.1 KB
- 描述: nlkjlkjlkjlk
- 大小: 211 Bytes
分享到:
- 2009-02-26 16:19
- 浏览 927
- 评论(1)
- 论坛回复 / 浏览 (1 / 2787)
- 查看更多
相关推荐
Java数据库编程是软件开发中的重要一环,尤其是在企业级应用中,数据的存储和处理是核心功能。本教程主要关注Java如何与数据库进行交互,特别是使用JDBC(Java Database Connectivity)进行连接和操作。以下是对各个...
JAVA数据库编程 JAVA数据库编程是指使用JAVA语言对数据库进行操作的过程。下面是JAVA数据库编程的相关知识点: 一、数据库简介 * 数据库是长期存储在计算机内的、有组织的、可共享的数据集合。 * 关系型数据库中...
其中,Java数据库编程由于其跨平台性、对象导向以及安全性等优点,在各个领域中发挥着越来越重要的作用。Java数据库编程主要通过Java脚本语言编写程序,进而建立起数据库并进行各种操作,实现程序和数据库之间的交互...
《Java数据库编程宝典》是一本深入探讨Java与数据库交互技术的专业书籍,旨在帮助开发者熟练掌握在Java环境中进行高效、安全的数据库编程。本书涵盖了从基础到高级的多个层次的知识点,包括JDBC(Java Database ...
本书集综合性、实用性为一体的学习Java数据库编程的优秀书目。. 本书采用循序渐进的方法,并穿插大量的实用性很强的代码实例对以下方面进行了阐述:数据库、SQL和JDBC;在两层客户/服务器应用程序中使用JDBC和SQL的...
JAVA数据库编程(达内课程)
Java数据库编程是指使用Java语言进行数据库操作的编程方式,它是Java应用开发中非常核心的技术之一。随着计算机技术的快速发展,Java数据库编程已经广泛应用于各行各业,极大地推动了相关行业的发展。Java数据库编程...
根据提供的标题、描述以及部分上下文内容,我们可以推断出这份文档主要关注的是关于Java数据库编程的相关知识。尽管文档中的大部分内容与一个特定的学习群及其提供的资源有关,但基于这些信息,我们可以围绕“Java...
Java数据库编程是开发应用程序时不可或缺的一部分,特别是在处理数据存储和检索时。本资源"java数据库编程_代码"针对初学者提供了宝贵的实践素材,涵盖了数据库的基本操作,如插入、删除、查询和修改数据。以下是...
《Java数据库编程实例》这本书是Java开发者学习数据库编程的重要参考资料,其随书代码涵盖了前十章的实例,旨在帮助读者深入理解和实践Java与数据库的交互。本文将详细解析这些知识点,以便于你更好地掌握Java数据库...
《Java数据库编程宝典》是一本深入探讨Java与数据库交互技术的专业书籍,涵盖了从基础到高级的诸多方面,旨在帮助开发者提升在Java环境下进行数据库开发的能力。这本书可能包含以下核心知识点: 1. JDBC(Java ...
《Java数据库编程实例》这本书是Java开发者学习数据库编程的重要参考资料,它涵盖了丰富的实例,帮助读者深入理解如何在Java应用程序中与各种数据库进行交互。提供的源代码包含完整的实例类、JBuilder工程文件,以及...
本篇将深入探讨Java数据库编程的实例,主要关注如何使用Java与各种数据库进行交互。我们将会涵盖JDBC(Java Database Connectivity)API的基础知识,包括连接数据库、执行SQL语句、处理结果集以及事务管理。 首先,...
Java数据库编程是软件开发中的重要一环,尤其是在构建动态网页、服务器端应用或者移动应用时。本实例聚焦于使用Java进行SQL操作,非常适合初学者学习。在这个简单的Java数据库编程实例中,你将了解到如何利用Java...
Java数据库编程是软件开发中的重要组成部分,特别是在企业级应用中,数据库管理系统的使用无处不在。这个"JAVA数据库编程实例随书源码"提供了一系列的示例代码,可以帮助学习者深入理解如何在Java环境中与数据库进行...
本案例"Java数据库编程案例2"着重于讲解如何在Java环境中与各种数据库进行交互,包括建立连接、执行SQL语句、处理结果集以及关闭连接等核心操作。下面我们将深入探讨相关知识点。 首先,Java数据库连接(JDBC)是...
java数据库编程教程