1 / 19

第十二章 JAVA 数据库连接

第十二章 JAVA 数据库连接. 常州信息职业技术学院 (CCIT) 软件学院 2004 年 9 月 1 日. 本讲内容. JDBC 与数据库概述 访问数据库 数据库查询 更新、添加、删除记录 JDBC 事务支持. 1. JDBC 与数据库概述. 数据库编程 种类 SQL 语言 JDBC 框架结构 JDBC-ODBC 桥接器 配置 ODBC 数据源 JDBC 驱动程序. 1. JDBC 与数据库概述. JDBC 典型应用模型 两层模型 三层模型 访问数据库的安全性问题 Applet 信任标记 数据库安全性.

caraf
Download Presentation

第十二章 JAVA 数据库连接

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十二章 JAVA数据库连接 常州信息职业技术学院(CCIT) 软件学院 2004年9月1日

  2. 本讲内容 • JDBC与数据库概述 • 访问数据库 • 数据库查询 • 更新、添加、删除记录 • JDBC事务支持 CCIT 软件学院

  3. 1. JDBC与数据库概述 • 数据库编程 • 种类 • SQL语言 • JDBC框架结构 • JDBC-ODBC桥接器 • 配置ODBC数据源 • JDBC驱动程序 CCIT 软件学院

  4. 1. JDBC与数据库概述 • JDBC典型应用模型 • 两层模型 • 三层模型 • 访问数据库的安全性问题 • Applet信任标记 • 数据库安全性 CCIT 软件学院

  5. 1. JDBC与数据库概述 • JDBC中的主要类(包java.sql) • 驱动程序相关 • Driver,DriverManager • 连接数据库 • Connection • 执行SQL语句 • Statement,PreparedStatement,CallableStatement CCIT 软件学院

  6. 1. JDBC与数据库概述 • JDBC中的主要类(包java.sql) • 结果集 • ResultSet • 数据库操作错误 • SQLException,SQLWarning • 数据库及结果集 • DatabaseMetaDate,ResultSetMetaData CCIT 软件学院

  7. 1. JDBC与数据库概述 • JDBC中的主要类(包java.sql) • 时间日期 • Date,Time,Timestamp • 其它 • Types,DataTruncation CCIT 软件学院

  8. 2.访问数据库 一个简单的数据库查询包括如下步骤:载入JDBC数据库驱动程序,建立与数据库的连接,在建立数据库连接的前提下执行SQL语句,取结果集和结果信息,提交事务,关闭数据库。如果是更新操作,则执行SQL语句后没有结果集。 CCIT 软件学院

  9. 2.访问数据库 • 连接数据库 • JDBC URL 语法:jdbc:<子协议>:<数据库子名称> 如:jdbc:odbc:studentdb , jdbc:dbpro:stu jdbc:odbc//www.site.com:5000/stu • 建立连接 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); String url=“jdbc:odbc:studentdb”; Connection con=DriverManager.getConnection(url,”user”,”pass”); CCIT 软件学院

  10. 2.访问数据库 • 了解数据库信息 取得DatabaseMetaData对象来了解数据源的信息 DatabaseMetaData dbma=con.gtMetaData(); DatabaseMetaData对象有很多方法: • 取得数据库的基本信息 getURL,getUserName(),getDatabaseProduceName(),getDatabaseProduceVersion(),isReadOnly(),getDriverName(),getDriverVersion() • 取得表信息 getTabels(…) CCIT 软件学院

  11. 2.访问数据库 • 了解数据库信息 • 取得各列的信息 getColumns • 取得索引信息 getIndexInfo CCIT 软件学院

  12. 3.数据库查询 所有SQL语句都是通过Statement或其子类(PreparedStatement, CallableStatement )的对象实现。 • Statement 用于一般SQL查询语句的执行 • 创建:Connection对象的createStatement方法 Statement stmt=con.createStatement(); CCIT 软件学院

  13. 3.数据库查询 • Statement • 执行:executeQuery,executeUpdate,execute String tsql=“select name,age from table1”; ResultSet rs=stmt.executeQuery(tsql); 非select语句:int nRet=stmt.executeUpdate(tsql); execute方法用于:返回多个结果集、过个更新集 • 关闭:close stmt.close(); CCIT 软件学院

  14. 3.数据库查询 • PreparedStatement 可以将SQL语句预编译,还可以内嵌参数 String tsql=“Select * from table1 where id=”+nID+” and name=‘”+strName+”’”; 或:PreparedStatement ps=con.preparedStatement(“delete from table1 where id=? And name=?”); ps.setInt(1,nID); ps.setString(2,strName); ps.executeUpdate(); CCIT 软件学院

  15. 3.数据库查询 • CallableStatement 用于执行存储过程 创建:Connection对象的PrepareCall()方法 CallableStatement cs=con.prepareCall(“call Query1”); {call 存储过程名} {call 存储过程名[(?,?,…)]} {?=call 存储过程名[(?,?,…)]} CCIT 软件学院

  16. 3.数据库查询 • 读取结果集中的数据 ResultSet类 方法:next,getXXX(XXX为各种类型) 等 ResultSet rs=st.executeQuery(“Select * from table1”); while(rs.next()) { …rs.getInt , rs.getString , … } CCIT 软件学院

  17. 4.更新、添加、删除记录 • 修改、插入和删除操作 update,insert,delete 语句 • 创建和删除表 Create Table语句 • 增加和删除表中的列 Alter Table语句 CCIT 软件学院

  18. 5.JDBC事务支持 事务由一个或多个SQL语句请求组成,将多条SQL请求组合为事务的目的是维护数据库的完整性。 • Connection对象的方法: setAutoCommit(false) commit rollback CCIT 软件学院

  19. 下课! CCIT 软件学院

More Related