Java数据库技术异常数据流.ppt
《Java数据库技术异常数据流.ppt》由会员分享,可在线阅读,更多相关《Java数据库技术异常数据流.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、案例分析案例分析界面界面数据库设计数据库设计1 1、JavaJava数据库编程基础数据库编程基础1 1、 JDBCJDBC概述概述JDBC(Java DataBase Connection) JDBC(Java DataBase Connection) 、JavaJava数据库连接。数据库连接。功能:是功能:是SunSun公司在公司在19961996年提出的一项技术(工具包),年提出的一项技术(工具包),主要用于进行主要用于进行JavaJava数据库程序开发。数据库程序开发。 该工具包使得该工具包使得JavaJava编程人员可以连接到一个编程人员可以连接到一个 数据库,进而使用数据库,进而使用
2、SQL SQL 对数据库进行查询和更新操对数据库进行查询和更新操 作。作。 可以理解成是对查询分析器的模拟实现可以理解成是对查询分析器的模拟实现 JDBCJDBC运行原理运行原理Java数据库应用程序JDBC驱动程序管理器JDBC/ODBC桥接器ODBC驱动程序DB供应商提供的JDBC驱动程序DBJDBC APIJDBC驱动程序 APISQL命令(SQL Server、Oracle) JDBCJDBC结构、结构、JDBCJDBC与与JDBCJDBC驱动程序的关系:驱动程序的关系: JDBC=JDBC驱动程序管理器JDBC DriverAPI+供编程人员使用供编程人员使用供数据库厂商使用供数据库
3、厂商使用JDBCAPI+JDBC驱动程序驱动程序实现实现实现实现java.sqljava.sql包包数据库厂商数据库厂商提供提供 java.Sqljava.Sql包包功能类、接口(斜体)JDBCAPI执行执行SQLSQL语句语句对对SQLSQL语句进行语句进行封装,并用此封装,并用此sqlsql语句操作数据语句操作数据库库Java.sql. Connection Java.sql. StatementJava.sql. PreparedStatement驱动程序管理器驱动程序管理器装载和管理各装载和管理各个数据库驱动个数据库驱动Java.sql. DriverManager执行执行sqlsql
4、语句的结果集语句的结果集将将SQLSQL语语句的执行结果封装成象句的执行结果封装成象Java.sql. ResultSetJava.sql. ResultSetMetaData辅助类辅助类特殊数据类型包装类、异常类Driever API供应商必须实现的驱动程序APIJava.sql. Driver Java.sql. DatabaseMetaData JDBC JDBC 特点特点 用Java语言编写的;可移植性好;能用于所有的数据库JDBC JDBC 驱动程序类型驱动程序类型 JDBC-ODBCJDBC-ODBC桥接器和桥接器和ODBCODBC驱动程序驱动程序SQL ServerSQL Ser
5、ver数据库数据库JavaJava数据库程序数据库程序ODBCODBCJDBCJDBCODBCODBC桥接器桥接器不建议用,因为可移植性差不建议用,因为可移植性差 纯纯JavaJava编写的编写的JDBCJDBC网络驱动程序网络驱动程序SQL ServerSQL Server数据库数据库JavaJava数据库程序数据库程序JDBCJDBC网络驱动网络驱动2 2、 javajava数据库程序开发步骤数据库程序开发步骤步骤步骤2 2: 加载和注册加载和注册JDBC-ODBCJDBC-ODBC桥接驱动程序桥接驱动程序 调用调用classclass类的类的forname()forname()方法加载数
6、据库方法加载数据库JDBCJDBC驱动程序。驱动程序。例如:例如: 步骤步骤3 3:获得数据库连接:获得数据库连接 调用驱动程序管理器(调用驱动程序管理器(DriverManagerDriverManager对象对象)的)的getConnection()getConnection() 方法,返回方法,返回ConnectionConnection对象。对象。 例如:例如:Connection con = DriverManager.getConnection Connection con = DriverManager.getConnection ( (“jdbc:odbc:数据源数据源”,“,
7、“用户名用户名”,“,“密码密码);); 以以JDBC-ODBCJDBC-ODBC方式访问数据库方式访问数据库步骤步骤1 1: 准备工作:在准备工作:在ODBCODBC数据源中设置数据源数据源中设置数据源Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver);Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver);步骤步骤2 2: 加载和注册加载和注册JDBCJDBC驱动程序驱动程序 调用调用classclass类的类的forname()forname()方法加载数据库方法加载数据库JDBCJDBC驱动程序。驱动程序。例如:例
8、如: 步骤步骤3 3:获得数据库连接:获得数据库连接 调用驱动程序管理器(调用驱动程序管理器(DriverManagerDriverManager对象对象)的)的getConnection()getConnection() 方法,返回方法,返回ConnectionConnection对象。对象。 例如:例如:Connection con = DriverManager.getConnection Connection con = DriverManager.getConnection ( (jdbc:microsoft:sqlserver:/localhost:1433;DatabaseNam
9、e=bookshop,“sa,“sa);“sa,“sa);以以JDBC方式方式sqlserver步骤步骤1 1: 准备工作:下载驱动程序,将准备工作:下载驱动程序,将SQL ServerSQL Server驱动程序包加入到驱动程序包加入到项目项目classpathclasspath中中Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);步骤步骤4 4:获得参数化执行:获得参数化执行SQLSQL语句的语句的Pr
10、eparedStatementPreparedStatement对象对象 调用调用connectconnect对象的对象的prepareStatement(String sql)prepareStatement(String sql)方法方法 。例如:例如: String sql = “select String sql = “select * * from from book book where where bookbook_id=?”;_id=?”;PreparedStatementPreparedStatement pst = conn. pst = conn. prepareStat
11、ement (sql); (sql); 步骤步骤5 5: 参数帮定参数帮定 调用调用PreparedStatementPreparedStatement对象的对象的setXXX(setXXX(intint parameterIndex, parameterIndex, int x) int x)方法邦定参数方法邦定参数。 说明:说明: 在在JDBCJDBC中,对中,对SQLSQL的包装有的包装有3 3种方式:种方式:java.sql.Statement java.sql.Statement 用于执行不带参数的简单用于执行不带参数的简单sqlsql语句语句java.sql.PrepareStat
12、ementjava.sql.PrepareStatement。用于执行带或不带参数的预编译。用于执行带或不带参数的预编译sqlsql语句语句java.sql.CallableStatement java.sql.CallableStatement 。 用于执行对数据库的存储过程的调用。用于执行对数据库的存储过程的调用。推荐使用推荐使用java.sql.PrepareStatementjava.sql.PrepareStatement,因为它的功能包含了,因为它的功能包含了java.sql.Statementjava.sql.Statement,在打开状态下可重复执行多次,而且效率比,在打开状态
13、下可重复执行多次,而且效率比较高。较高。步骤步骤6 6: 指定结果集的属性指定结果集的属性Statement statement = conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE )第一个参数指定指定 ResultSet 的类型。其选项有:的类型。其选项有:TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。对该数据库所作更改的影响。 TYPE_SCROLL_INSE
14、NSITIVE:允许在列表中向前或向后移动,甚至可以进行特定:允许在列表中向前或向后移动,甚至可以进行特定定位,例如移至列表中的第四个记录或者从当前位置向后移动两个记录。不会受到其定位,例如移至列表中的第四个记录或者从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。他用户对该数据库所作更改的影响。 TYPE_SCROLL_SENSITIVE:象:象 TYPE_SCROLL_INSENSITIVE 一样,允许在记录一样,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 数据库技术 异常 数据流
限制150内