JavaSE18_JDBC编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本章学习目标3JDBC编程1数据库相关基础2JDBC基本概念5.1使用属性文件配置环境5.2OCI方式访问Oracle数据库5.3可滚动和可更新结果集4JDBC-ODBC编程5JDBC编程进阶5.4预处理语句5.5调用存储过程5.7批处理5.8高级SQL类型BLOB/CLOB5.6事务处理3.1JDBC编程基本步骤3.2执行SQL语句3.3获取数据库元数据3.4访问SQLServer数据库3JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校数据库简介(1)ƒ数据库(DB,DataBase)ƒ数据库管理系统(DBMS,DataBaseManagementSystem)应用程序数据库管理系统数据库数据库系统应用程序Oracle、DB2SQLServer等数据4JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校数据库简介(2)ƒ关系型数据库(RDB)ƒ关系型数据库管理系统(RDBMS)ƒSQL语言(StructuredQueryLanguage)¾使用关系模型的数据库语言,用于和各类数据库的交互,提供通用的数据管理和查询功能。¾常用SQL指令:SELECT、INSERT、DELETE、UPDATE、CREATE、DROP5JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校数据库简介(3)ƒODBC(OpenDataBaseConnectivity,开放式数据库互连)¾数据库系统应用程序接口规范。¾支持应用程序以标准的ODBC函数和SQL语句操作各种不同类型的数据库。Oracle数据库1SQLServer数据库2Access数据库3……其它数据库Oracle驱动程序SQLServer驱动程序Access驱动程序其他数据库驱动ODBC驱动程序应用程序图18-1JDBC工作原理6JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校ƒJDBC(JavaDataBaseConnectivity)ƒJDBC功能:¾支持基本SQL语句,在Java程序中实现数据库操作功能并简化操作过程¾提供多样化的数据库连接方法¾为各种不同的数据库提供统一的操作界面ƒJDBCAPI¾java.sql.DriverManager类¾java.sql.Driver接口¾java.sql.Connection接口¾java.sql.Statement接口¾java.sql.ResultSet接口7JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校………其它数据库JDBC驱动程序forOracleJDBC驱动程序forDB2JDBC-ODBC桥驱动程序JDBC-网络驱动程序JDBC驱动程序管理器Java应用程序图18-2JDBC工作原理JDBCAPI8JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校驱动程序ƒ什么是驱动程序?ƒ数据库驱动程序(DataBaseDriver)ƒJDBC驱动程序分类:第一类:JDBC-OCBC桥第二类:Java到本地API第三类:Java到网络协议第四类:Java到数据库协议9JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校ƒJDBC技术中使用数据库URL来标识目标数据库ƒ数据库URL格式:¾jdbc为协议名,确定不变;¾子协议名指定目标数据库的种类和具体连接方式;¾子名称指定具体的数据库/数据源连接信息(如数据库服务器的IP地址/通信端口号、ODBC数据源名称、连接用户名/密码等)。¾子名称的格式和内容随子协议的不同而改变。ƒ举例:jdbc:子协议名:子名称jdbc:oracle:thin:@166.111.78.98:1521:ora9jdbc:microsoft:sqlserver://127.0.0.1:1433jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=pubs10JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校编程ƒJDBC编程基本步骤1.加载驱动程序(向系统注册所需的JDBC驱动程序);2.建立到指定数据库的连接;3.提交数据库查询;4.取得查询结果ƒ举例:¾例18-1JDBCExample.java11JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校()方法方法名称返回值类型getBoolean()booleanbytegetBytes()byte[]getDate()java.sql.DategetDouble()doublegetFloat()floatgetInt()intgetLong()longgetObject()ObjectgetShort()shortgetString()java.lang.StringgetTime()java.sql.TimegetByte()12JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校[]VARBINARYbyte[]LONGVARBINARYbyte[]Datejava.sql.DateFLOATdoubleDOUBLEdoubleREALfloatINTEGERintBIGINTlongSMALLINTshortCHARjava.lang.StringVARCHARjava.lang.StringLONGVARCHARjava.lang.StringTINYINT13JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校编程(续)ƒ执行DML语句¾例18-2demo.sql、TestDML.javaƒ执行DDL语句¾例18-3TestDDL.javaƒ获取数据库元数据¾例18-4TestMetaData.javaƒ访问SQLServer数据库¾准备SQLServer数据库JDBC驱动程序1.从微软网站下载JDBC驱动程序安装文件2.本地安装该驱动程序包3.重新设置CLASSPATH环境变量¾例18-5demo.sql、TestSQLServer.java14JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校编程ƒ工作原理:JDBC驱动程序管理器并不直接操纵数据库驱动程序,而是调用JDBC-ODBC桥驱动程序操纵ODBC驱动程序,进而连接各种类型的数据库。ƒ编程步骤:¾创建ODBC数据源¾在程序中连接并操作ODBC数据源ƒ访问Excel文件¾例18-6test.xls、JDBC_ODBC.javaƒ访问Access数据库¾例18-7db1.mdb、TestAccess.javaƒ访问SQLServer数据库¾例18-8TestSQLServer.java15JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校事务处理16JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校使用属性文件配置环境ƒ将数据库连接信息(URL、用户名/密码等)保存到专门的属性文件中,而不在程序中直接给出ƒ用法举例¾例18-9mydb.propertiesJDBCExample.java17JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校数据库ƒ什么是OCI(OracleCallInterface)方式?ƒOCI方式连接时Oracle客户端配置¾使用NetConfigurationAssistant¾使用NetManager图形化工具¾直接修改数据库配置文件tnsnames.oraƒ用法举例¾例18-10TestOCI.java18JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校可滚动/可更新结果集ƒ结果集类型¾不可滚动(FORWARD_ONLY)¾滚动不敏感(SCROLL_INSENSITIVE)¾滚动敏感(SCROLL_SENSITIVE)ƒ结果集的并发模式¾只读的(READ_ONLY)¾可更新的(UPDATABLE)ƒConnection接口中提供的重载方法createStatement()用于获取可滚动/可更新结果集。¾方法格式:StatementcreateStatement(inttype,intconcurrency)19JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校检测结果集类型ƒ结果集类型与并发模式常量ƒ使用JDBC元数据API进行检测¾例18-11TestMetaData.java常量含义ResultSet.TYPE_FORWARD_ONLY不可滚动结果集ResultSet.CONCUR_UPDATABLE可更新结果集ResultSet.TYPE_SCROLL_INSENSITIVE滚动不敏感结果集ResultSet.TYPE_SCROLL_SENSITIVE滚动敏感结果集ResultSet.CONCUR_READ_ONLY只读结果集20JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校使用可滚动结果集ƒ对于可滚动结果集,可以使用ResultSet接口中定义的下述方法进行遍历:¾booleannext()¾booleanprevious()¾booleanfirst()¾booleanlast()¾voidbeforeFirst()¾voidafterLast()¾booleanrelative(introws)¾booleanabsolute(introw)¾intgetRow()ƒ用法举例¾例18-12demo.sql、TestScrollResultSet.java21JavaSEJavaSE应用程序设计应用程序设计新科海学校新科海学校使用可更新结果集ƒ对于可更新结果集,可以使用ResultSet接口中定义的下述方法进行更新操作:¾voidupdateXXX(StringcolumnName,XXXx)¾voidupdateXXX(intcolumnIndex,XXXx)¾voidup

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功