基于WEB的JAVA开发设计.ppt
《基于WEB的JAVA开发设计.ppt》由会员分享,可在线阅读,更多相关《基于WEB的JAVA开发设计.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Date:4/22/2023基于WEB的JAVA开发设计1基于基于WEBWEB的的JAVAJAVA开发设计开发设计-JDBC-JDBC数据库访问数据库访问Date:4/22/2023基于WEB的JAVA开发设计2主要内容主要内容JDBC简介简介JDBC驱动程序类型驱动程序类型JDBC基本编程基本编程JDBC高级编程高级编程Date:4/22/2023基于WEB的JAVA开发设计3JDBC简介简介JDBC(Java Database Connectivity)是一组用来)是一组用来按照统一方式访问数据库的按照统一方式访问数据库的API。它向程序员提供了它向程序员提供了独立于数据库的统一接口,可以
2、使开发人员不必考虑独立于数据库的统一接口,可以使开发人员不必考虑所用的特定数据库便可编写应用程序,实现了所用的特定数据库便可编写应用程序,实现了Java与与数据库的互连。数据库的互连。它能够:它能够:提供对数据库的跨平台存取提供对数据库的跨平台存取无需知道数据库具体的位置无需知道数据库具体的位置无需要知道数据库实现的具体细节无需要知道数据库实现的具体细节Date:4/22/2023基于WEB的JAVA开发设计4JDBCJava应用应用1OracleMySQL SQL Server Java应用应用nDate:4/22/2023基于WEB的JAVA开发设计5JDBC驱动程序类型驱动程序类型RDB
3、MSJDBC体系结构体系结构JDBC APIJDBC-ODBC桥(桥(Type 1)JDBC-Native(Type 2)JDBC-NET(Type 3)纯纯Java JDBC驱动驱动(Type 4)ODBC 驱动驱动Native API(C/C+)Net Server(JNDI)Date:4/22/2023基于WEB的JAVA开发设计6TYPE 1TYPE 1驱动程序:驱动程序:是是JDBCODBC桥连接方式桥连接方式通常运行在通常运行在Windows系统上系统上需要在客户机上安装需要在客户机上安装ODBC驱动程序驱动程序Date:4/22/2023基于WEB的JAVA开发设计7TYPE 2
4、TYPE 2驱动程序:驱动程序:需要在客户机上安装所用数据对应的本地驱动(这些驱动通需要在客户机上安装所用数据对应的本地驱动(这些驱动通常是常是C或或C+语言所编写的)。语言所编写的)。该驱动将该驱动将JDBC对数据库的调用转换成数据库本地的对数据库的调用转换成数据库本地的API调用调用Date:4/22/2023基于WEB的JAVA开发设计8TYPE 3Date:4/22/2023基于WEB的JAVA开发设计9TYPE 3网络服务可以采用多种技术来提高系统性能,这些服网络服务可以采用多种技术来提高系统性能,这些服务包括:务包括:负载均衡负载均衡缓存技术缓存技术连接池技术连接池技术容错机制容错
5、机制DBMSDate:4/22/2023基于WEB的JAVA开发设计10TYPE 4TYPE 4是一种纯是一种纯Java的驱动实现,他不需要任何客户的驱动实现,他不需要任何客户端配置。端配置。这也是最为常见的数据库连接方式。这也是最为常见的数据库连接方式。Date:4/22/2023基于WEB的JAVA开发设计11Date:4/22/2023基于WEB的JAVA开发设计12DriverManagerDriverManager类类DriverManager(驱动程序管理器驱动程序管理器)类负责管理类负责管理JDBC驱动程序。驱动程序。在使用在使用JDBC驱动程序之前,必须先将驱动程序加载并向驱动
6、程序之前,必须先将驱动程序加载并向DriverManager注册后才可使用,在程序中可以通过调用注册后才可使用,在程序中可以通过调用Class.forName()方法来完成。方法来完成。常用方法如下:常用方法如下:Public static synchronized Connection getConnection(String url,String user,String password)throws SQLException获得获得url对应数据库的一个连接对应数据库的一个连接Public static void setLoginTimeout(int seconds)设置要进行数据库登
7、录时驱动程序等待的延迟时间设置要进行数据库登录时驱动程序等待的延迟时间Date:4/22/2023基于WEB的JAVA开发设计13ConnectionConnection接口接口Connection对象是通过对象是通过DriverManager.getConnection()方法获得,代表与方法获得,代表与数据库的连接,也就是在已经加载的驱动程序和数据库之间建立连接。数据库的连接,也就是在已经加载的驱动程序和数据库之间建立连接。Connection接口是接口是JSP编程中使用最频繁的接口之一。编程中使用最频繁的接口之一。常用方法如下:常用方法如下:Statement createStateme
8、nt()throws SQLException创建一个创建一个Statement对象对象PrepareStatement prepareStatement(String sql)throws SQLException创建一个创建一个Preparestatement对象,并能把对象,并能把SQL语句提交到数据库进行预编译语句提交到数据库进行预编译void setAutoCommit(Boolean autocommit)throws SQLException设置事务提交的模式设置事务提交的模式void commit()throws SQLException提交对数据库的更改,使更改生效提交对数据
9、库的更改,使更改生效void rollback()throws SQLException放弃当前事务开始以来对数据库所作的修改放弃当前事务开始以来对数据库所作的修改 Date:4/22/2023基于WEB的JAVA开发设计14StatementStatement接口接口Statement用来执行静态用来执行静态SQL语句。例如,执行语句。例如,执行insert、update、delete语句,可以调用语句,可以调用executeUpdate(String sql)方法,执行方法,执行select语句可以调用语句可以调用executeQuery(String sql)方法,该方法返回方法,该方法
10、返回ResultSet对象。对象。常用方法如下:常用方法如下:ResultSet executeQuery(String sql)throws SQLException执行一个查询语句并返回结果集执行一个查询语句并返回结果集int executeUpdate(String sql)throws SQLException执行更新操作,返回更新的行数执行更新操作,返回更新的行数Boolean execute(String sql)throws SQLException执行更新或查询语句,返回是否有结果集执行更新或查询语句,返回是否有结果集 Date:4/22/2023基于WEB的JAVA开发设计1
11、5PreparedStatementPreparedStatement接口接口PreparedStatement接口继承接口继承Statement接口,作为提高性接口,作为提高性能的一条措施,能的一条措施,PreparedStatement提供了可以与查询信息提供了可以与查询信息一起预编译的一种语句类型。一起预编译的一种语句类型。Date:4/22/2023基于WEB的JAVA开发设计16CallableStatementCallableStatement是JDBC用来调用数据库中存储过程的机制具体的使用和PreparedStatement相似需要注意的是:要调用的存储过程必须在数据库中存在,
12、否则将抛出异常Date:4/22/2023基于WEB的JAVA开发设计17ResultSetResultSet接口接口在在Statement执行执行SQL查询语句时,会返回查询语句时,会返回ResultSet查询结果记录集。查询结果记录集。ResultSet接口提供了逐行访问这些记录的方法。接口提供了逐行访问这些记录的方法。常用方法如下:常用方法如下:Boolean next()throws SQLException把当前指针定位到下一行。注意,最初,把当前指针定位到下一行。注意,最初,ResultSet的指针位于第一行的指针位于第一行之前。之前。void close()throws SQLE
13、xception释放释放ResultSet对象资源对象资源ResultSet提供了提供了getXXX()方法,用于获取当前行中某列的值,其中方法,用于获取当前行中某列的值,其中“XXX”与列的数据类型有关,例如,如要获取的列是与列的数据类型有关,例如,如要获取的列是String类型,则类型,则使用使用getString()方法获取该列的值。方法获取该列的值。getXXX()方法如下所示:方法如下所示:getString()getInt()getFloat()getDouble()getDate()getBoolean()Date:4/22/2023基于WEB的JAVA开发设计18Oracle驱
14、动驱动OracleMYSQLAcessMYSQL驱动驱动JDBCODBC桥桥DriverManagerConnectionPreparedStatementStatementCallableStatementResultSetResultSetResultSet应用层应用层Date:4/22/2023基于WEB的JAVA开发设计19import java.sql.*TryClass.forName(oracle.jdbc.driver.OracleDriver);String oraURL=“jdbc:oracle:thin:host:port:dbName”;Connection con=D
15、riverManager.getConnection(oraURL,username,password);Statement statement=connection.createStatement();String query=SELECT name,pwd FROM sometable;ResultSet resultSet=statement.executeQuery(query);while(resultSet.next()name=resultSet.getString(1);phone=resultSet.getString(2);System.out.println(name+,
16、+phone);resultSet.close();statement.close();con.close();catch(SQLException e)第一步第一步第二步第二步第三步第三步第四步第四步第五步第五步第六步第六步第七步第七步Date:4/22/2023基于WEB的JAVA开发设计20连接数据库的典型步骤连接数据库的典型步骤第一步:加载正确的数据库驱动程序第一步:加载正确的数据库驱动程序为什么要加载为什么要加载如何加载如何加载);DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver();经过以上其中之一语句
17、的声明后,驱动程序就会自动地加载。经过以上其中之一语句的声明后,驱动程序就会自动地加载。注意:如果注意:如果classpath路径中没有找到所需的驱动程序则会抛出路径中没有找到所需的驱动程序则会抛出 ClassNotFoundException异常。异常。Oracle驱动驱动OracleMYSQLAcessMYSQL驱动驱动JDBCODBC桥桥DriverManagerDate:4/22/2023基于WEB的JAVA开发设计21第二步,定义所要连接数据库的地址第二步,定义所要连接数据库的地址String ODBCURL“jdbc:odbc:dbName”;String oracleURL=jd
18、bc:oracle:thin:host:port:dbName“;String mysqlURL=jdbc:mysql:/host:port/dbName“;String sqlURL“jdbc:microsoft:sqlserver:/host:1433;DatabaseName=dbName”;通过此步骤,定义要连接的数据库资源通过此步骤,定义要连接的数据库资源不同数据库连接的地址不同,这点需要特别注意,对弈一些常见的数据库连接不同数据库连接的地址不同,这点需要特别注意,对弈一些常见的数据库连接地址,要求大家能够掌握。地址,要求大家能够掌握。URL由由3部分组成,各个部分用冒号间隔,格式如
19、下:部分组成,各个部分用冒号间隔,格式如下:jdbc:JDBC URL的的3部分可分解如下:部分可分解如下:jdbc:JDBC中的协议就是中的协议就是jdbc。:数据库驱动程序名或数据库连接机制的名称。子协议的典型示:数据库驱动程序名或数据库连接机制的名称。子协议的典型示例为例为oracle,它用于连接,它用于连接oracle数据库。数据库。:一种标记数据库的方法。子名称根据子协议的不同而不同,使:一种标记数据库的方法。子名称根据子协议的不同而不同,使用子名称的目的是为定位数据库用子名称的目的是为定位数据库例如例如 jdbc:oracle:thin:ip:port:sidDate:4/22/2
20、023基于WEB的JAVA开发设计22第三步,建立与数据库的连接第三步,建立与数据库的连接String username=jay_debesee;String password=secret;Connection connection=DriverManager.getConnection(oracleURL,username,password);通过此步获得与数据库服务器的连接通过此步获得与数据库服务器的连接另外,数据库连接还可以使用连接属性信息,如下:另外,数据库连接还可以使用连接属性信息,如下:Properties dbprops=new Properties();dbprops.put
21、(user,sa);dbprops.put(password,);dbprops.put(server,DEMO);dbprops.put(“db,myDB);tryClass.forName(weblogic.jdbc.mssqlserver4.Driver);Connectionconn=DriverManager.getConnection(jdbc:weblogic:mssqlserver4,dbprops);catch(Exception e).Date:4/22/2023基于WEB的JAVA开发设计23第四步,创建语句对象第四步,创建语句对象Statement statement=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WEB JAVA 开发 设计
限制150内