JavaEE数据库开发基础.ppt

上传人:sh****n 文档编号:7423836 上传时间:2020-03-21 格式:PPT 页数:36 大小:1.78MB
返回 下载 相关 举报
JavaEE数据库开发基础.ppt_第1页
第1页 / 共36页
JavaEE数据库开发基础.ppt_第2页
第2页 / 共36页
JavaEE数据库开发基础.ppt_第3页
第3页 / 共36页
点击查看更多>>
资源描述
第4章JavaEE数据库开发基础 JDBC概述JDBCAPI的应用PreparedStatement和CallableStatement连接池 DataSource及其应用事务 JDBC是Java程序连接和存取数据库的应用程序接口 API 此接口是Java核心API的一部分 JDBC向应用程序开发者提供了独立于数据库的统一的API JDBC是由一组驱动程序实现的Java接口 驱动程序负责从标准JDBC调用向支持的数据库所需要的具体调用转变 除了向开发者提供统一的独立于DBMS之外的框架 JDBC还提供了让开发者保持数据库厂家提供的特定功能的办法 5 1JDBC概述 JDBC JavaDataBaseConnection 是Java数据库访问API的统称 主要完成以下功能 与一个数据库建立连接 向数据库发送SQL语句 处理数据库返回的结果 JDBCAPI 在java sql包中主要提供了以下接口 JDBC的结构 JDBC有两种接口 分别是面向开发人员的JDBCAPI和面向低层的JDBCDriverAPIJDBCAPI是一系列的接口 它使得应用程序能够进行数据库联接 执行SQL语句 并且得到返回结果 JDBC的结构 java sql DriverManager用来装载驱动程序 并且为创建新的数据库连接提供支持 java sql Connection完成对某一指定数据库的连接 java sql Statement在一个给定的连接中作为SQL执行声明的容器 它包含了两个重要的子类型 java sql PreparedSatement用于执行预编译的sql声明java sql CallableStatement用于执行数据库中存储过程的调用java sql ResultSet对于给定声明取得结果的途径 JDBC接口之间的关系 5 2JDBCAPI的应用 1 访问数据库的基础2 JDBC应用实例3 ResultSet的高级应用 访问数据库的步骤 Statement的使用 创建 connection createStatement 执行select查询语句 statement executeQuery 查询语句 执行insert update delete等更新语句 statement executeUpdate 更新语句 如executeUpdate insertintoMyFriend name age qq values name age qq name abc age 20 qq 1234 时执行如下SQL语句insertintoMyFriend name age qq values abc 20 1234 ResultSet的使用 创建 executeQuery SQL语句 定位记录 next 方法访问数据 getXXX int 或getXXX String 其中XXX为一数据类型名称 int为列编号 从1开始编号 String为列名 如getInt 2 getString name 对照INT INTEGERgetInt TINYINT SMALLINTgetShort BIGINTgetLong DATEgetDate CHAR VARCHARgetString FLOATgetFloat JAVA访问数据库示例1 读入ACCESS数据库的内容数据库LIB mdb表user JDBC ODBC方法 Class forName sun jdbc odbc JdbcOdbcDriver Connectioncon DriverManager getConnection jdbc odbc tt Statementsql con createStatement ResultSetrs sql executeQuery select fromuser while rs next System out print rs getInt ID t System out print rs getString 2 t System out print rs getString 3 t System out print rs getInt 4 t System out print rs getInt 5 t System out println rs getDate 6 rs close sql close con close 建立ODBC 名称为tt 多种方法访问数据库 通过JSP访问数据库通过Servlet访问数据库通过JavaBean访问 JSP访问数据库 JDBC实例 通过JSP访问数据库 jsp jsp JSP访问数据库 if rs next 序号姓名电话年龄QQ日期 out println rs getString 1 out println rs getString 2 out println rs getString 3 out println rs getString 4 out println rs getString 5 out println rs getString 6 out println while rs next jsp jsp Servlet访问数据库 protectedvoiddoGet HttpServletRequestrequest HttpServletResponseresponse throwsServletException IOException response setContentType text html charset gb2312 PrintWriterout response getWriter out println JDBC实例 通过Servlet访问数据库 try Class forName sun jdbc odbc JdbcOdbcDriver Connectioncon DriverManager getConnection jdbc odbc tt Statementsql Statement con createStatement ResultSetrs sql executeQuery select fromuser if rs next if结束 catch Exceptione out println e Servlet java Servlet访问数据库 out println out println 序号姓名 out println 电话年龄 out println QQ日期 do out println out println rs getString 1 out println rs getString 2 out println rs getString 3 out println rs getString 4 out println rs getString 5 out println rs getString 6 out println while rs next out println Servlet java 通过JavaBean访问 packagemybean importjava sql publicclassDBConnection privateConnectionconn publicvoidinit StringclassName StringURL try Class forName className conn DriverManager getConnection URL catch Exceptione System out println e publicConnectiongetConnection returnconn DBConnection java 通过JavaBean访问 JDBC实例 通过JavaBean访问数据库序号姓名电话年龄QQ日期 out println rs getString 1 out println rs getString 6 out println while rs next JavaBean JSP 可滚动的ResultSet 通过createStatement int int 创建Statement时可以指定第一个参数指定游标类型可为下面的值 以便支持可滚动的记录集ResultSet TYPE FORWARD ONLY 默认的cursor类型 仅仅支持向前forward 不支持backforward random last first操作 类似单向链表 不可滚动的记录集 数据库发生变化时不可见 是效率最高最快的cursor类型ResultSet TYPE SCROLL INSENSITIVE 支持backforward random last first操作 对其它数据session对选择数据做出的更改是不敏感 不可见的 可滚动的记录集 数据库的变化不可见ResultSet TYPE SCROLL SENSITIVE 支持backforward random last first操作 对其它数据session对选择数据做出的更改是敏感 可见的 可滚动的记录集 数据库的变化可见 移动记录指针的方法包括next last previous first 等等 游标类型总结 可更新的ResultSet 通过createStatement int int 创建Statement时可以指定第二个参数为下面的值 以便支持可更新的记录集ResultSet CONCUR READ ONLY 记录集不可更新ResultSet CONCUR UPDATABLE 记录集可更新更新记录的方法包括updateInt int int updateInt String int updateRow insertRow deleteRow 等等 其他类型数据库的驱动程序 MySQL驱动程序及URL 驱动 com mysql jdbc Driverurl jdbc mysql 127 0 0 1 3306 myfriendSQLServer驱动程序及URL 驱动 com microsoft sqlserver jdbc SQLServerDriverurl jdbc sqlserver localhost 1433 databaseName myfriend user MyUserName password Oracle驱动程序及URL 驱动 oracle jdbc driver OracleDriverurl jdbc oracle thin 127 0 0 1 myfriend 5 3连接池 DataSource及其应用 1数据库连接池传统的JDBCAPI访问数据库时 需要频繁建立数据库连接Connection对象 导致系统的整体性能降低 数据库连接池 ConnectionPool 是一种数据库连接共享技术 数据库连接池的基本思想是为数据库连接建立一个 缓冲池 即初始化连接池时在缓冲池中创建一定数量的数据库连接 当应用组件需要获取数据库连接时 只需从缓冲池中取出一个 使用完毕之后再释放到连接池中 数据库连接池在初始化时创建一定数量的数据库连接 其数量由最小数据库连接数来设定 无论这些数据库连接是否被使用 连接池都将一直保证至少拥有这些连接 连接池的最大数据库连接数量限定了连接池能建立的最大连接数 当应用程序向连接池请求的连接数超过最大连接数量时 这些请求将被加入到等待队列中 连接池原理实验 连接池举例数据库连接池实例使用连接池连接50000次不使用连接池连接50次 index jsp 连接池类ConnectionPool packagedb importjava sql importjava util Vector publicclassConnectionPool privateVectorpool privateintpoolSize 10 privatestaticConnectionPoolinstance null publicstaticConnectionPoolgetInstance if instance null instance newConnectionPool returninstance 1 连接池类ConnectionPool privateConnectionPool pool newVector poolSize Connectionconn null for inti 0 i poolSize i try Class forName com mysql jdbc Driver conn DriverManager getConnection jdbc odbc tt pool add conn catch Exceptione e printStackTrace 2 连接池类ConnectionPool publicsynchronizedConnectiongetConnection if pool size 0 Connectionconn pool get 0 pool remove conn returnconn else returnnull publicsynchronizedvoidrelease Connectionconn pool add conn 3 使用连接池 利用连接池连接 loops 次 用时 System currentTimeMillis start ms useloops jsp 不使用连接池 不用连接池连接 loops 次 用时 System currentTimeMillis start ms noloops jsp 实际时间对比 J2EE中数据库连接池的使用 JDK只提供了数据库连接池相关的DataSource接口 具体实现由数据库驱动厂商或Web服务平台器提供 DataSource接口对象负责具体的连接池管理 使用DataSource时 需要通过查询JNDI JavaNamingandDirectoruInterface 服务器得到DataSource 再利用该对象获取Connection对象 应该在web应用的 META INF context xml中定义数据源 并在web xml中定义该数据源的参考 如果要为所有Web应用提供相同的数据源 可以利用 tomcat6 0 conf server xml定义数据源 Context xml的数据源定义 web xml中的数据源定义 jdbc DataSourceExamplejavax sql DataSourceContainer 通过DataSource连接数据库的关键代码 InitialContextcontext newInitialContext DataSourcedataSource DataSource context lookup 数据源名称 conn dataSource getConnection conn close 通过DataSource访问数据库实例 pageimport java sql javax naming javax sql contentType text html pageEncoding UTF 8 JDBC实例 通过DataSource访问数据库序号姓名电话年龄QQ日期 out println rs getString 1 out println rs getString 6 out println while rs next
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!