现在都说框架,我今天发个不说框架的,作为入门讨论(包括我及其他初学者需要)。
写DAO往往是这样的(网上的视频教程,纸类教材,网上教程等貌似都是这样教的...):
class DAO类名 {
//增加操作
public void add (vo对象) {
//1、获取一个数据库连接
//2、执行insert sql语句
//3、关闭数据库连接及其他清理操作
}
//删除操作
public void delete (vo对象) {
//1、获取一个数据库连接
//2、执行delete sql语句
//3、关闭数据库连接及其他清理操作
}
... ...//其他类似操作
}
那么问题就来了,如果我在一个servlet中的doGet 或 doPost 中同时调用了 DAO.add() 和 DAO.delete()
这两个方法,那么每个方法都会打开并关闭数据库连接一次,显然是影响性能的。
如何在打开一次数据库连接中完成两次操作呢?
我想到的处理方法就类似与Hibernate session里的操作,使用transaction.begin()开始,transaction.commit()结束;
那么DAO类修改如下:
class DAO类名 {
//增加新的方法begin();
public void begin() {
// 获取一个数据库连接
......
}
//增加新的方法commit();
public void begin() {
// 关闭数据库连接及其他清理
......
}
//增加操作
public void add (vo对象) {
//执行insert sql语句
}
//删除操作
public void delete (vo对象) {
//2、执行delete sql语句
}
... ...//其他类似操作
}
DAO这样写以后,servlet中调用就写为:
...
DAO dao = new DAO() ;
dao.begin();
dao.add(vo);
dao.delete(vo);
dao.commit();
...
这里说的简单的例子,复杂的也该是以此为基础。不知道大家在实际使用中是如何处理的?欢迎大家指点。
被误了N久啊。要是这样去找工作,谁敢要?!
貌似偶要发讨论意向,居然就成问题贴了,动不动就框架,没框架怎么办?偶也没进过什么公司,没团体合作过,完全自学,哪来那么好的处理方法?苦啊,继续摸索。
分享到:
相关推荐
### 关于servlet+jsp+service+Oracle实现简单的数据库交互 #### 一、概述 本文将详细介绍如何使用servlet、jsp、service层以及Oracle数据库来实现一个简单的用户登录注册功能。这种架构通常用于Web应用程序开发中...
Servlet:用于验证数据、实例化JavaBean、调用Dao连接数据库、控制页面的跳转 Servlet过滤器(filter):能够在一个Request到达servlet之前预处理request,也可以在离开servlet时处理response Servlet监听器:给web中...
在本案例中,"student"可能代表一个JavaBean,它包含了与学生相关的属性(如ID、姓名、年龄等)和操作这些属性的方法(如获取、设置和保存数据到数据库)。JavaBean的规范要求它们具有公共无参构造器,属性应有对应...
这些方法通常会调用DAO(Data Access Object)层来与数据库交互。 **DAO(数据访问对象)** DAO层是模型层和数据库之间的桥梁,它封装了所有与数据库交互的代码。例如,我们可以有`UserDAO`接口及其实现类,提供`...
(2)新增Service包,创建Servicve服务类,供Servlet调用,实现业务功能; (3)对数据库的增删改查操作进行封装,提供统一的访问对象DAO类; (4)以用户注册与登陆案例的实现为例。 教学重点与难点 (1)Servlet+...
这样做的好处在于,业务逻辑层不必直接与数据库进行通信,而是通过调用DAO的方法,降低了代码的耦合度。在实验中,你需要创建一个具体的DAO实现类,该类将包含连接数据库、执行SQL语句、处理结果集等方法。例如,你...
在商城系统中,数据库连接池的作用至关重要,它可以有效地管理和复用数据库连接,避免频繁创建和销毁连接带来的性能开销。C3P0提供了丰富的配置选项,如最小连接数、最大连接数、连接超时、空闲测试频率等,可以根据...
为了测试这个设置,我们可以创建一个简单的Web页面(如DWRTest.html),在这个页面上使用JavaScript直接调用服务器端的DAO方法,例如获取数据库中的数据并显示在页面上。这样,用户在浏览器中就可以看到实时更新的...
在这个项目中,DAO层负责与数据库交互,如添加新的留言、查询已有留言等。DAO类通常包含对应数据库表的操作方法,比如`addMessage()`用于新增留言,`getMessageList()`用于获取所有留言。 3. **Service层**: ...
在Java Web开发中,Servlet和JavaBean是两个重要的组件,常用于构建动态Web应用程序,特别是与数据库交互。本文将深入探讨如何使用Servlet和JavaBean来实现对数据库的基本操作:增加(Insert)、删除(Delete)、...
这个系统的核心在于利用Java Servlet处理HTTP请求,JSP进行视图展示,以及DAO(Data Access Object)模式来与数据库进行交互,实现了新闻的发布、删除和修改功能。 【描述】中的关键信息提示我们,该新闻发布系统是...
在本教程中,我们将深入探讨如何使用Java、MyEclipse和Tomcat来实现Servlet和DAO(数据访问对象)模式下的数据库操作,特别是针对增删改查(CRUD)功能。首先,我们需要理解整个项目的结构。 项目结构遵循DAO设计...
- DAO类中,创建数据库操作方法,如`List<InfoBean> getAllInfos()`,返回所有信息记录,便于业务层调用。 总结:本文详细介绍了MySQL数据库的配置和基本操作,通过Navicat进行可视化管理,并展示了如何在Java Web...
DAO层是应用程序与数据库之间的接口,负责处理所有的数据操作。在本项目中,DAO类会包含方法如添加新的博客文章、获取文章列表、更新用户信息等,通过执行SQL查询或更新语句来完成这些操作。DAO的设计模式使得业务...
DAO模式是一种设计模式,用于封装对数据库的操作,它将业务逻辑与数据访问逻辑分离,提高了代码的可维护性和可测试性。在分页中,DAO将处理查询特定页数的数据,如计算总记录数、获取某一页的数据等。 **反射机制**...
DAO层是与数据库交互的关键部分。每个DAO类通常对应于数据库中的一个表,负责执行CRUD(创建、读取、更新、删除)操作。在一个项目中只使用一个DAO类,可能意味着所有的数据库操作都被集中管理。这可能会导致代码...
【基于WEB的简历系统(JSP+Servlet)(含数据库)】是一个典型的Web应用程序,它利用了Java技术栈,包括JSP(JavaServer Pages)和Servlet,以及数据库存储用户信息。这种系统允许用户通过Web界面创建、编辑和管理他们...
在本文中,我们将深入探讨如何使用JSP、Servlet和JDBC技术实现对数据库的基本操作,包括增(Add)、删(Delete)、改(Update)和查(Select)。这是一套非常基础且实用的技术栈,适用于构建Web应用程序中的数据管理...
总之,"Servlet实例和JDBC的连接.rar"文件中的例子演示了如何在Servlet中处理用户登录和注册,利用JDBC与数据库进行交互。通过学习这个实例,开发者可以更好地理解Servlet和JDBC的基本用法,为构建更复杂的JavaEE...
在DAO设计模式中,Servlet接收用户请求,调用服务层方法,这些方法又会进一步调用DAO来与数据库交互。 **3. AJAX (Asynchronous JavaScript and XML)** AJAX允许Web页面在不重新加载整个页面的情况下与服务器交换...