JDBC数据库连接javaEE.ppt

上传人:wuy****n92 文档编号:70792890 上传时间:2023-01-28 格式:PPT 页数:72 大小:1.95MB
返回 下载 相关 举报
JDBC数据库连接javaEE.ppt_第1页
第1页 / 共72页
JDBC数据库连接javaEE.ppt_第2页
第2页 / 共72页
点击查看更多>>
资源描述

《JDBC数据库连接javaEE.ppt》由会员分享,可在线阅读,更多相关《JDBC数据库连接javaEE.ppt(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、JDBC1JDBC基础2JDBC基础JDBC的全称是JavaDatabaseConnectivity,即Java数据库连接,它是一种可以执行SQL语句的JavaAPI。JavaAPI是接口,其实现类由各数据库厂商提供实现,这些实现类就是“驱动程序”。正是通过JDBC驱动的转换,才使得使用相同JDBCAPI编写的程序,可以在不同的数据库系统上运行良好。3JDBC基础JDBC编程步骤(一):4驱动类对应的字符串:的字符串:MySql:SQLServer:数据数据库URL:MySql:jdbc:mysql:/127.0.0.1:3306/smsSQLServer:jdbc:sqlserver:/12

2、7.0.0.1:1433;DatabaseName=smsJDBC基础JDBC编程步骤(二):5注意:以上整个示例代码,应该使用trycatchfinally释放资源JDBC基础JDBC_增删改操作:6JDBC基础JDBC_前几页PPT代码分析:Url、User、Password直接在代码中定义,如果数据库服务器稍作变动,怎么办?一个项目基本针对一个底层数据库,难道每次操作数据库,都要注册一次驱动程序嘛?是否可以只注册一次?获取数据库连接时,每次都需要Url、User、Password,一旦改动其中一个数据,意味着要修改所有此处的代码。释放资源,每次数据库操作后,都需要释放资源,难道每次操作后

3、都要写三次tryclosecatch代码嘛?7JDBC基础JDBC_封装升级(一):8JDBC基础JDBC_封装升级(二):9JDBC基础JDBC_封装升级(三):10JDBC基础JDBC_封装升级(四):11JDBC基础Statement的缺点:同样的SQL语句,每次都要发送,不能进行有效的缓存。拼接SQL字符串非常容易出现错误。不能防止恶意数据,易产生SQL注入。升级后的新接口PreparedStatement(推荐):预编译SQL语句,并进行有效的缓存,性能更好。允许使用问号占位符参数,并且该参数必须获得值后才可以执行。无需拼接SQL语句。12SQL注入:注入:“.where name=

4、”+“or 1=1 or”+“and password=”+“”+“”问号占位符参数:号占位符参数:INSERT INTO User(id,name,age,birthday)VALUES(?,?,?,?);JDBC基础JDBC_PreparedStatement(一):13JDBC基础JDBC_PreparedStatement(二):14JDBC基础JDBC_疑难杂症:获取插入记录后的自增长值日期类型(datetime)文本信息(text):varchar的最大长度为65535左右二进制文件(blob)15JDBC基础JDBC_疑难杂症(一):自增长值、日期(写入)16JDBC基础JDBC

5、_疑难杂症(一):自增长值、日期(读取)17JDBC基础JDBC_疑难杂症(二):文本信息text(写入)18JDBC基础JDBC_疑难杂症(二):文本信息text(读取)19JDBC基础JDBC_疑难杂症(三):二进制文件(写入)20JDBC基础JDBC_疑难杂症(三):二进制文件(读取)21JDBC基础JDBC_事务处理:事务处理就是当执行多个SQL指令时,如果因为某个原因使其中一条指令执行有错误,则取消先前执行过的所有指令。它的作用是保证各项操作的一致性和完整性。JDBC事务是通过Connection对象进行控制的。其提供了两种事务:自动提交模式:系统默认,每项数据库操作成功后,系统会自

6、动提交。手工提交模式:首先必须取消自动提交模式,然后通过commit()和rollback()提交和回滚事务。22JDBC基础JDBC_事务处理:23JDBC基础JDBC提供:DatabaseMetaData封装数据库相关信息24JDBC基础JDBC提供:ResultSetMetaData封装结果集相关信息25连接池26连接池JDBC数据库连接的建立及关闭是极耗系统资源的操作。之前获得的数据库连接,一个数据库连接对象均为一个物理数据库连接,每次操作都打开一个物理连接,使用完后立即关闭连接。频繁地打开、关闭连接将造成系统性能低下。数据库连接池的解决方案是:当应用程序启动时,系统主动建立足够的数据

7、库连接,并将这些连接组成一个连接池。每次应用程序请求数据库连接时,无须重新打开连接,而是从池中取出已有的连接使用,使用完后,不再关闭数据库连接,而是直接将连接归还给连接池。27连接池数据库连接池基本工作原理:28连接池自定义数据库连接池(一):29连接池自定义数据库连接池(二):30连接池自定义数据库连接池(三):31连接池自定义数据库连接池(四):32连接池自定义数据库连接池(五):33连接池非连接池与连接池对比(一):34连接池非连接池与连接池对比(二):35连接池开源的数据源(DBCP)(一):36连接池开源的数据源(DBCP)(二):37连接池开源的数据源(C3P0)(一):38连接池

8、开源的数据源(C3P0)(二):39JDBC常见操作(重点)40JDBC常见操作基于数据库的信息系统,每张数据表基本都包含如下操作(函数):新增记录、修改记录、删除记录根据主键获取单个记录根据记录数获取所有记录获取分页记录PS:以上仅为基本操作,实际中还需包含其它复杂操作。以上操作中,数据的传入传出都以对象形式,所有每张数据表对应一个实体类(列名对应属性名)41JDBC常见操作后续以选课系统sms数据库中的class数据表作为操作范例:42PS:数据表的列与数据表的列与实体体类的属性一一的属性一一对应JDBC常见操作纯JDBC操作(一):43JDBC常见操作纯JDBC操作(二):44JDBC常

9、见操作纯JDBC操作(三):45JDBC常见操作纯JDBC操作(四):46JDBC常见操作纯JDBC操作(五):47JDBC常见操作纯JDBC操作(六):48JDBC常见操作纯JDBC操作(七):49JDBC常见操作纯JDBC操作(八):50JDBC常见操作以上全部操作中,太多的代码重复,如下:每次都要获取Connection每次都要创建PreparedStatement每次都要设置参数值每次都要执行Query或Update操作每次都要关闭数据库连接因此可以进行代码封装重构,所以市面出现了众多封装后的JDBC操作工具类,此PPT中使用ApacheDBUtils注意:对于ApacheDBUtil

10、s,要求JavaBean(实体类)的属性名必须与结果集中的列名一一对应!51JDBC常见操作ApacheDBUtils操作(一):52JDBC常见操作ApacheDBUtils操作(二):53JDBC常见操作ApacheDBUtils操作(三):54JDBC常见操作ApacheDBUtils操作(四):55JDBC常见操作ApacheDBUtils操作(五):56JDBC常见操作ApacheDBUtils操作(六):57DAO设计模式58DAO设计模式JavaEE架构大致分为如下几层:DomainObject(领域对象)层:此层由系列的POJO(PlainOldJavaObject,普通的、传

11、统的Java对象)组成,这些对象是该系统的DomainObject,往往包含了各自所需要实现的业务逻辑方法。DAO(DataAccessObject,数据访问对象)层:此层由系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。业务逻辑层:此层由系列的业务对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露DomainObject对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。控制器层:此层由系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果

12、转发到不同的表现层组件。表现层:此层由系列的JSP页面、Velocity页面、PDF文档视图组件组成。此层负责收集用户请求,并将显示处理结果。59DAO设计模式大致上,JavaEE应用的架构如图所示:60Model:对应数据库表的实体类(属性与表中字段对应)XxDao:接口,定义对XX表的“增删改查”方法名XxDaoImpl:对应接口的实现类,针对JDBC或Hibernate等的实现XxService:接口,实现业务逻辑,定义实现系统功能的方法名XxServiceImpl:对应接口的实现类,调用Dao中的方法,外加某些业务逻辑判断DAO设计模式DAO实现(一):Model61DAO设计模式DAO实现(二):Dao62DAO设计模式DAO实现(三):JdbcUtil63DAO设计模式DAO实现(四):DaoImpl(一)64DAO设计模式DAO实现(四):DaoImpl(二)65DAO设计模式DAO实现(四):DaoImpl(三)66DAO设计模式DAO实现(四):DaoImpl(四)67DAO设计模式DAO实现(四):DaoImpl(五)68DAO设计模式DAO实现(四):DaoImpl(六)69DAO设计模式DAO实现(五):Main验证(一)70DAO设计模式DAO实现(五):Main验证(二)71答疑Q&A72

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁