JDBC高级应用 - DAO模式与JavaBean

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资源,在大量的并发访问时尤其明显 。而企业级的开发需要高效快速的连接处理。为避免频繁的创建、断开数据库连接,可以使用数据源技术。

时间: 2024-10-16 00:53:21

JDBC高级应用 - DAO模式与JavaBean的相关文章

JDBC初学,DAO模式

一.用eclipse连接mysql数据库: 要先添加一个文件:https://www.cnblogs.com/caiwenjing/p/8079227.html 二.开始写连接数据库的代码: 因为连接数据库的操作一般是公用的,所以写在叫做util的包里 像实体类一般写在叫做entity包里面 测试类(JUnit里讲解过怎么使用)写在叫做test的包里面 package com.util; import java.sql.*; public class ConnectionUtil { /** *

Java Dao模式通过JDBC连接数据库的操作

Java程序访问数据库: 1.获取数据库厂商提供的驱动(jdbc接口的实现类) 如ojdbc14.jar——Oracle数据库驱动jar包 mysql-connector-java-5.1.8-bin.jar——MySQL数据库驱动jar包 自己去网上下载就行. 2.使用JDBC的API访问数据库 连接.SQL语句执行.结果 java.sql.Driver:各个数据库厂商需要实现该接口,驱动的标记 java.sql.Connection:封装和数据库的连接 java.sql.Statement:

web day17 JDBC入门,DAO模式mySQL时间类型转换,批处理

JDBC入门 1.JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库. 2.JDBC原理 最终得出的结论是,由SUN提供一套访问数据库的规范(就是一组接口),并提供连接数据库的协议标准,然后各个数据库厂商会遵循SUN的规范提供一套访问自己公司的数据库服务器的API出现.SUN提供的规范命名为JDBC,而各个厂商提供的,遵循了JDBC规范的,可以访问自己数据库的API被称之为驱动! 3.JDBC核心类(接口)介绍 JDBC中

java 关于JDBC和DAO模式使用

JDBC(全称:Java Data Base Connectivity)是java数据库连接简称 ,提供连接各种数据库的能力 JDBC API主要的功能: 1.与数据库建立连接 2.执行SQL语句 3.处理结果 JDBC关键字的使用: 1.DriverManager:依据数据库的不同,管理JDBC驱动 2.Connection:负责连接数据库并且担任传送数据库的任务 3.Statement:由Connection产生.负责执行SQL语句 4.ResultSet:负责保存Statement执行后所

jdbc之二:DAO模式

1.创建Dao接口. package com.ljh.jasonnews.server.dao; import java.sql.Connection; public interface Dao { public Connection getConnection() throws DaoException; } 2.创建BaseDao类,实现Dao接口,主要完成数据库的打开与关闭 package com.ljh.jasonnews.server.dao; import java.sql.Conn

JDBC、单元测试、DAO模式

JDBC简介 1.什么是JDBC? JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API(工具).JDBC是Java访问数据库的标准规范. 规范:在java中的直接体现是接口 作用:为不同关系型数据库提供统一的访问,由一组用java语言编写的接口和工具类组成,由各大数据库厂商实现对应接口 2.连接数据库时要先加载驱动 什么是驱动? 两个设备要进行通信时,需要满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提

jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件

day17总结 今日内容 l JDBC 1.1 上次课内容总结 SQL语句: 1.外键约束:foreign key * 维护多个表关系! * 用来保证数据完整性! 2.三种关系: * 一对多: * 一个客户可以对应多个订单,一个订单只属于一个客户! * 建表原则: * 在多的一方创建一个字段,作为外键指向一的一方的主键!!! * 多对多: * 一个学生可以选择多个课程,一个课程也可以被多个学生选择! * 建表原则: * 创建第三张表,第三张表中放入两个字段,作为外键分别指向多对多双方的主键! *

熟悉DAO模式的用法

今天主要是使用DAO模式. DAO模式通过对业务层提供数据抽象层接口,实现了以下目标: 1. 数据存储逻辑的分离 通过对数据访问逻辑进行抽象,为上层机构提供抽象化的数据访问接口.业务层无需关心具体的select,insert,update操作,这样,一方面避免 了业务代码中混杂JDBC调用语句,使得业务落实实现更加清晰,另一方面,由于数据访问几口语数据访问实现分离,也使得开发人员的专业划分 成为可能.某些精通数据库操作技术的开发人员可以根据接口提供数据库访问的最优化实现,而精通业务的开发人员则可

面向对象DAO模式

DAO模式编写数据访问层代码步骤? 1.  接口 增.删.改.查的方法 方法的返回类型为泛型集合 Int rows=select语句的条数 If(rows>0) 方法的返回类型为泛型集合 If(rows>=0 &&rows<=1) 方法的返回类型为实体类 2.  数据访问implements 接口 Class 类名 implements接口{ 对接口中的定义的方法,重写 方法中的代码 Jdbc操作数据库的代码 [考虑方法的重用,编写BaseDAO及方法] } 3.DAO模