`

Jdbc小结

阅读更多
、java数据库操作基本流程

  2、几个常用的重要技巧:

  可滚动、更新的记录集

  批量更新

  事务处理

  java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接

  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();


  多用于jsp中

  2、执行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(); // 更新


  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、如果发生异常,那么回滚

分享到:
评论

相关推荐

    JDBC个人小结

    此为个人小见地,大虾请勿喷!希望能帮到需要的人

    关于JDBC数据分页跨数据库小结.rar

    关于JDBC数据分页跨数据库小结.rar

    关于JDBC数据分页跨数据库小结.pdf

    关于JDBC数据分页跨数据库小结.pdf

    JDBC 3.0数据库开发与设计

    目录 第1章 JDBC概述 1.1 JDBC简介 1.2 JDBC3.0规范 1.3 JDBC3.0 API的新特点 1.3.1 JDBC 3.0 API的一致性 1.3.2 不赞成的API 1.4 JDBC 3.0中的类和接口 1.4.1 java.sql包中的类和接口及其...9.5 本章小结

    关于JDBC数据分页跨数据库小结参考.pdf

    关于JDBC数据分页跨数据库小结参考.pdf

    JDBC专题(三)-JDBC完成用户注册功能

    1.使用JDBC完成用户注册功能 1.1.准备一个用户表 1.2....小结 4.使用PreparedStatement完成登录 6.PreparedStatement实现新增 7.PreparedStatement实现更新 8.PreparedStatement实现删除

    JDBC使用小结

    JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作。JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver、Connection、Statement、ResultSet,这些接口定义了使用SQL访问数据库的...

    JDBC用法小结

    主要介绍了JDBC用法,较为详细的分析了基于JDBC进行数据库操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    商店商品管理系统 大学生课程设计 课设作业 Java Web JDBC MySQL jsp

    商店商品管理系统 大学生课程设计 课设作业 Java Web JDBC MySQL Shop jsp

    JSP+JDBC+Mysql 留言板系统

    这是个最简洁的web系统,只是用于对初学者练手的,把文件夹解压到Tomcat的webapps文件夹下,然后重启Tomcat.本系统用的是Mysql数据库,解压文件里面有与系统相对于的数据库脚本,之间复制在Mysql数据库命令行即可。...

    Java_JDBC由浅入深

    8.7 小结 62 第九节 PreparedStatement接口的使用 62 第十节 CallableStatement接口的使用 62 9.1 无参无返回值存储过程调用 63 9.2 有参无返回值存储过程调用 63 9.3 有参有返回值存储过程调用 64 9.4 JDBC其他API ...

    基于JSP+Servlet+JavaBean+JDBC+DAO的Web图书管理架构设计该系统

    基于JSP+Servlet+JavaBean+JDBC+DAO的Web架构设计该系统,进一步了解并掌握如何对数据库进行操作,以及如何分析、设计一个应用系统。 需求要求: 该系统的基本需求是,系统要实现如下的基本管理功能: (1)用户分为...

    Java—JDBC资料汇总

    jdbc-introduce.pdf Oracle_JDBC_tutorial.pdf 基于JDBC并利用属性文件来配置和实现数据库连接池.pdf 数据库连接池Java实现小结.doc

    Java数据库技术详解 DOC简版

    1.5 本章小结 第2章 SQL语句基础之DDL 2.1 DDL基础 2.2 DDL操作视图 2.3 本章小结 第3章 SQL语句基础之DML 3.1 SELECT语句基础 3.2 WHERE子句 3.3 ORDER BY子句 3.4 GROUP BY和HAVING子句 3.5 ...

    JSP高级编程          

    1.5 本章小结 第2 章 Enterprise JavaBeans 2.1 EJB 技术简介 2.2 EJB 体系结构(一) 2.3 EJB 体系结构(二) 2.4 如何开发EJB(一) 2.5 如何开发EJB(二) 2.6 本章小结 第3 章 EJB 技术进阶 3.1 实体EJB 的开发技术之一...

Global site tag (gtag.js) - Google Analytics