JDBC高级应用 - DAO模式与JavaBean
2015-05-19 19:32
423 查看
DAO模式与JavaBean
DAO数据库操作对象(Data Access Object):负责连接数据库,通过集合获取数据库中的数据,对数据进行CRUD的操作。DAO出现之前,操作数据库的代码与业务代码都出现在JSP或Servlet中,不利于业务代码的分离。DAO出现后改变了这一情况,所有与数据库相关的操作都被拿到了DAO层实现,Servlet或JSP中只操作JavaBean与DAO层,而DAO只操作数据库。
事务实例:转账
张三转200元到李四的银行账户,李四要买英雄联盟皮肤。要分两个步骤:
一:从张三账户中减去200元
二:在李四账户中加上200元
一个无事务的方法(步骤正常)
一个无事务的方法(步骤异常:后面的步骤有错,断电)
一个有事务的方法(步骤正常)
一个无事务的方法(步骤异常:后面的步骤有错,断电)
代码:
getConnection(); conn.setAutoCommit(false); //停用自动提交事务 ... int result2 = pStmt.executeUpdate(); System.out.println(“李四账户存入200元,结果:"+(result2==1?"成功":"失败")); if(result1==1 && result2==1){ //扣款、充值都成功 conn.commit(); System.out.println("转账成功,事务提交。"); }else{ conn.rollback(); System.out.println("转账失败,事务回滚。"); }
抛出异常自动回滚
设置自动提交为false后,事务的提交必须执行conn.commit(),而事务的回滚不一定要显示的执行conn.rollback(),如果程序最后没有执行conn.commit(),事务也会回滚,一般是要直接抛出异常,终止本段程序的正常运行。如下:
if(result1!=1 || result2!=1){ throw new Exception("数据更新失败。"); } conn.commit();
数据源(连接池)
在先前的JDBC编程中,每操作一次数据库,都要经过下面的过程:创建Connection、创建Statement对象、获取ResultSet、销毁ResultSet、销毁Statement、断开Connection。即每操作一次数据库,都会创建连接、断开连接。在实际的使用中,创建和断开Connection都会消耗一定的时间、IO资源,在大量的并发访问时尤其明显 。而企业级的开发需要高效快速的连接处理。为避免频繁的创建、断开数据库连接,可以使用数据源技术。
相关文章推荐
- jsp+javaBean(模拟购物车)(DAO设计模式的应用)
- jsp+javaBean+jdb 实现DAO设计模式
- java 关于JDBC和DAO模式使用
- java之 ------ DAO设计模式的【详解】及常见设计模式的【应用】
- JSP+Servlet+JavaBean+Dao模式介绍
- [JSP&JDBC]连接数据库DAO增删查改+JavaBean+分页显示实例
- JAVA高级应用之装饰者模式 LineNumberReader 打印流
- J2EE初级学习项目——JSP+Servlet+JavaBean开发模式+Filter+(Listener)+Jdbc的用户登录注册系统
- JavaWeb 第12章 JDBC详解(五)高级应用
- JavaBean中DAO设计模式介绍
- [学习笔记]JavaBean中DAO设计模式介绍
- JavaBean中DAO设计模式介绍 .
- JavaBean中DAO设计模式介绍
- java的JDBC连接的万能版总结(dao模式)
- java-DAO模式实现数据库增,删,改,查和传统模式实现数据库增,删,改,查对比-JDBC
- Java -- JDBC_DAO 设计模式
- java之 ------ DAO设计模式的【具体解释】及常见设计模式的【应用】
- JavaBean中DAO设计模式介绍
- Matrix Java 大讲坛:DAO 模式的应用(Matrix 朱世杰)
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之09.JDBC DAO设计模式