`
caiceclb
  • 浏览: 239388 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

简单DAO与servlet调用如何避免重复的数据库连接

    博客分类:
  • JEE
阅读更多
现在都说框架,我今天发个不说框架的,作为入门讨论(包括我及其他初学者需要)。

写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久啊。要是这样去找工作,谁敢要?!



貌似偶要发讨论意向,居然就成问题贴了,动不动就框架,没框架怎么办?偶也没进过什么公司,没团体合作过,完全自学,哪来那么好的处理方法?苦啊,继续摸索。
分享到:
评论

相关推荐

    JavaWeb实现网上商城:JSP+Servlet+Dao

    Servlet:用于验证数据、实例化JavaBean、调用Dao连接数据库、控制页面的跳转 Servlet过滤器(filter):能够在一个Request到达servlet之前预处理request,也可以在离开servlet时处理response Servlet监听器:给web中...

    采用Java Servlet +Service+DAO实现用户登陆注册

    (2)新增Service包,创建Servicve服务类,供Servlet调用,实现业务功能; (3)对数据库的增删改查操作进行封装,提供统一的访问对象DAO类; (4)以用户注册与登陆案例的实现为例。 教学重点与难点 (1)Servlet+...

    高校学生身体素质管理系统(JSP+Servlet+JavaBean+Dao)

    Servlet 用于验证数据、实例化JavaBean、调用DAO连接数据库、控制页面跳转 DAO用于连接数据库及进行数据库的操作如:查询、删除、更改等 JavaBean用于数据的封装,方便将查询结果在servlet与jsp页面之间进行传递等 ...

    JavaWeb程序设计_实验6.rar

    实验六 DAO 和 MVC 模式 ...4、编写控制器类 Servlet,在其中加入对 DAO 对象的调用,并根据传递参 数的不同执行不同的操作,实现数据库的增删改查操作,即能够添加图书、修改 图书信息以及删除图书、查询图书。

    学生信息管理(servlet+jsp+MySQL)

    学生信息管理,遍历列表显示所有学生信息,每个学生后面有操作按钮(删除,查看,修改...该project分包很详细,实体student放在entity包,所有的servlet放在servlet包,连接数据库放在utils包,增删改查函数放在Dao包里

    前台连接到数据库流程

    从前台到数据库,是需要一个过程的,它是一个流程这样走下来的 html–jsp–servlet–oracle/mycle  然而为了方便开发人员的分工合作,会把这个步骤分...  4 借用DAO对数据库进行操作,再有数据库将信息反馈回来  

    webdemo:基于jsp+servlet+javabean+mysql实现的具备简单注册和登录功能的网站

    注释:dao类主要负责完成与数据库相关的逻辑处理的方法,等待被控制器创建实体并调用需要的方法,其中实现与数据库连接并不是由它完成,dao类仅import该类实现数据库连接。 该小项目需要用到的工具: Idea(java...

    基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip

    5) Servlet层调用Dao层的操作数据库的方法,包括: 数据库的增删改查。添加、删除、查询、多表查询、模糊搜索。 6) 面向接口编程,先写dao接口 再写dao的实现类。 7) 操作完数据库,如果是查询数据 将结果集返回到...

    简单的javaweb在线选课系统(idea使用,版本原因,需要修改些许代码去适应个人的idea配置)

    此《简单的javaweb在线选课系统》运用了JavaWeb这本书上介绍的所有知识,其中有jsp,html,servlet等等,数据库用的是mysql,调用数据库进行登录,增删改查,jsp和servlet之间的运用进行网页之间的跳转,命令语句的...

    jsp+servlet+javaBean实现MVC-jspmvc

    MVC_jspmvc是一个使用JSP+Servlet+JavaBean实现的简单MVC框架。它主要包含以下部分: 1. Model:JavaBean用来存储数据,如User.java。 2. View:JSP页面用来展示数据和接收用户输入,如user.jsp,list.jsp等。 3. ...

    基于Java web的超市管理系统,数据库课程设计

    dao层用于操作数据库的数据,将数据库的连接,关闭以及增删改查等方法封装起来。 pojo是根据数据库中的字段信息编写的实体类。 service业务层调用DAO层的方法。 servlet层实现前后端的交互。 测试idea连接数据库...

    分页 servlet

    知道分页的大小之后,我们生成了页好的选取下拉框,每次选择第几页的时候,都会向Servlet传递当前选择页号的参数,这样Servlet调用后面的DAO相应的方法,取得文章列表信息,再回传到JSP以供显示。 ; charset=UTF-8...

    课程信息管理JavaWeb三层架构+增删改查+Tomcat,servlet

    课程信息管理JavaWeb三层架构+增删改查+Tomcat,servlet,jsp是一个基于Java ...数据访问层(DAO):负责与数据库进行交互,实现对课程信息的存储和查询。 Tomcat:作为Web服务器,负责部署和运行该课程信息管理系统。

    基于JSP的BBS论坛

    系统分成通用数据库管理模块、登录注册模块、信息发布模块和文件上传、会员后台、管理员后台六大模块,而在数据库管理模块里,不仅包含了通用的数据库访问逻辑,更应当以DAO模式封装了各业务逻辑所需要的数据库操作...

    一个空的SSH框架,同时也支持servlet。扩展性能强,灵活度高。

    客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。 中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,Web层,负责控制业务逻辑层与表现层的交互,调用业务...

    固定资产管理系统

    由Servlet控制器来通过调用业务方法来处理用户的业务请求,业务方法通过DAO来访问数据库,对数据库中的数据进行增、删、改、查,通过控制器转发至视图层,呈现给用户。采用该模式,使用户只能通过特定的接口来访向...

    web课程设计.zip

    前端发送请求到servlet,servlet调用dao层方法查询数据库中数据,servlet使用list对接接收数据,保存到request域中,页面从request域中获取数据渲染页面

    Isolation_management.zip

    数据库的课程设计,其中包含4个表的增删改查的操作,框架以layUI为基础搭建,界面简洁...主页面通过jsp的post方法来向servlet请求操作,使用javabean封装数据对象,由servlet调用Dao层方法对数据库进行增删改查的操作

    基于JavaWeb实现登录注册功能项目源码+项目说明(课程大作业).zip

    2.Service层,处理业务逻辑,通过调用DAO层保存到数据库 3.Web层,用Servlet实现,获取请求参数封装成Bean对象,调用Service处理业务,并将相应数据发送给客户段请求转发 3.客户端:最终将结果响应到浏览器上 ...

    基于JAVA论坛管理系统设计的毕业设计,该系统采用三层架构,分别是展现层、业务逻辑层和数据存取层 MySQL+JSP

    数据存取层使用JDBC技术实现,主要负责与MySQL数据库的连接、查询和更新操作。设计了UserDao、PostDao、ReplyDao等多个Dao组件来实现数据的CRUD操作。 整体架构采用MVC模式,Servlet组件充当控制器,JSP页面充当视图,...

Global site tag (gtag.js) - Google Analytics