- 浏览: 35053 次
- 性别:
- 来自: 哈尔滨
-
最新评论
-
yxsylyh:
仅此而已 写道一直都是通过范型抽取出公用的DAO 和BaseD ...
DAO多表操作的解决思路 -
仅此而已:
一直都是通过范型抽取出公用的DAO 和BaseDAO的 。
DAO多表操作的解决思路
文章列表
DAO多表操作的解决思路
一、分层DAO思路
虽然网上有文章表示一个表对应一个DAO并不好,但这里暂时还是尽量一个表一个DAO。这里想说的是,把DAO层细化一下。分成BDAO(底层DAO)和TDAO(顶层DAO),或说成TDAO(表级DAO)和ODAO(对象级DAO)。
1、BDAO
底层DAO主要思路就是一个表对应一个DAO,然后实现CRUD,同时还要给顶层DAO提供暴露conn连接的CUD方法(查询通常不用事务吧)。
2、TDAO
顶层DAO使用底层DAO暴露conn连接的方法,实现多表操作,从而实现事务处理的能力。
这种方法的优点是,代码优美、通 ...
DAO的一个问题
DAO都知道了吧,就是数据访问对象。这里考虑的是数据访问层的实现。
最早的思路是一个数据库表对应一个DAO,实际中也是这么实现的。不过后来发现,这样还是存在问题的,因为每次的CRUD操作都会打开和关闭数据库连接,性能会受到影响;而且,每个原子操作不一定都是针对一个表,涉及到事务处理。
最初的折中解决办法就是把DAO类中的每个方法都加一个相应的方法,参数比原来的参数多一个conn的数据库连接,然后在需要的时候,在DAO类的外面用一个事务类,事务类提供数据库连接对象,然后在DAO类之上的一个类,调用不同的DAO中的方法(使用暴露CONN的方法),全部成功的话 ...
总结一下java项目中的路径问题:
System.getProperty("user.dir");
System.getProperty("java.class.path");
这两个方法对于web项目中获取类路径没有任何用处,获取的都是部署程序(比如TOMCAT)所在路径。
WEB项目:
可以通过Servlet获取路径:
ServletContext application = request.getSession().getServletContext(); String path = application. ...
觉得文章总结的很好,转一下,以备日后查看。
Oracle字符集问题总结
2005-10-08 14:57作者:vstonet出处:菊花论坛责任编辑:王玉涵
<!--广告-->
<!-- Please check block file -->
<!-- Please check block file -->
经常有同事咨询oracle数据库字符集相关的问题,如在不同数据库做数据迁移、同其它系统交换数据等,常常因为字符集不同而导致迁移失败或数据库内数据变成乱码。现在我将oracle字符集相关的一些知识做个简单总结,希望对大家今后的 ...
(科幻)PS无处不在
桥头漫步,火车气鸣。远处,一轮红日,初升东方。淡淡的几抹云,变换着姿势,萦绕红轮。一派欣欣向荣的景致。
我溶入在这美景当中……突然,一条侧立高耸的烟囱映入眼帘,挡住了美丽的云霞姐姐的衣裳。唉!不爽……
没关系,我用小白兔高级儿童牙膏……(对不起!跑题了。拍砖的来了!快闪……)
我打开笔记本,运行Photoshop v100.0,依然是熟悉的界面,哈哈!久违了,老朋友!
我把笔记本屏幕两侧的摄像头外翻,对准美景。然后,在PS里依次选择工具->导入实时场景,在打开的界面中点击“导入”,对了,别忘了勾上“三 ...
一篇文章说了那么多,好像没有看出新奇在哪,用处在哪,好像废话了一连篇。
其实是有她的意义所在的。爱因斯坦在研究他的相对论的时候,曾经计算出高速运动的物体的时间是变慢的。公司大致是这样:
t1=t/sqrt(1-v^2/c^2),
其中,t1是以v速度高速运行的物体运行的时间,t是我们看到的时间,c是光速,sqrt表示平方根。
根据这个公式,我们看到,实际计算出的t1比t大,即时间变多了,变长了,自然会以为是变慢了。
看来,爱因斯坦也没有跳出单一时间看问题的思维,实际上计算出的t1,应该是高速运动物体所在时空的时间,而它的运动和我们所在时空看到的它的运动是“同时”发 ...
顾名思义,时光流,就是研究时光流逝的快慢,即时光流逝的速度问题,也可以称为时间流,或时钟流。
也许有人会问,速度是位移除以时间,那时间的速度怎么衡量啊!时间哪有位移啊?时间除以时间,不是常量吗?
此言差矣!听我慢慢道来。。。
可以用一个很简单的例子来说明时间的流逝也可以有快慢之分。假设我们有两台DVD机,有两张相同电影的DVD。我们用一个DVD播放电影,正常速度播放,同时,我们用第二个机器还播放这个电影,并以两倍速播放。我们看到了什么呢?
第一个电影正常播放,而第二个电影中所有镜头的速度都快了一倍。
这里我们发挥一些想象力,如果你是第二个电影中的人物,你会感 ...
基本语法记的不扎实,总是忘,这里做个总结,以后查询起来方便。
一、创建存储过程
create or replace procedure proc_insert(departno in number) is
begin
declare
cursor cur_insert is select * from emp where deptno = departno;
rec emp%rowtype;
begin
open cur_insert;
loop
fetch cur_insert into rec;
...
今天做作业,想用Sybase数据库,创建新数据库的时候没有了相应,上网一查说是数据库日志满。
再一查,数据库日志满使用下面的命令可以清除日志:
dump transaction tempdb with no_log
把tempdb换成你的数据库名,就可以给相应数据库清空日志。我清空了好几个数据库的日志,再新建数据库,OK了!
这个命令记录在博客中,日后可以查看,也希望对大家有点帮助。
关于多线程,理解上不难,做出来真不容易。
作业题是这样的:做三个线程(A、B、C),启动后输出启动信息,然后A、B调用wait等待;线程C调用sleep休眠一段时间,然后调用notifyAll,使线程A和线程B继续运行。线程A和线程B恢 ...
这是培训数据库课程后的考试题上机题内容,昨天考的。当时做的时候没有看到表格中的“合计”,30分的题,估计只能得10分。。。
题目是这样的:
数据库上机试题
1、 题目:要求用存储过程实现如下报表,其他不限。 (30分)
(1)全省2007年分税种统计,结果表样如下:
税种
最近新到了一个单位,目前处于培训时期。老师留了作业,关于SYBASE数据库的。讨论会之后,看到一些同事做的确实很好,有些地方自己在编程的时候没有想到。下面把自己没有考虑到的地方总结一下,以期日后考虑问题能够更全面一些。
题目是这样的,给出两个表account和account_bak,要求将王红账户转出500到李莉账户中,保持 account,与acounnt_bak表一致,用触发器保证。
自己考虑遗漏的地方:
1、转账过程中,没有考虑两个账户是否都存在;
2、转账的时候,没有考虑到转账金额是否已经超出转出账户的余额。
综合的说,是对数据的验证没有考虑周到。包括两个部 ...
最近学习Sybase,遇到问题后找到的解决办法。
原文网址:http://www.phpfans.net/ask/MTIyNjgzMQ.html
Sybase ASE基础知识:利用Sybase Central简单操作Sybase ASE数据库
发几篇基础的sybase文章。不是给博客做广告的。目的只有一个:share the knowledge ! 不知道我仅有的那点知识是否可以拿出来共享。 呵呵利用Sybase Central简单操作Sybase ASE数据库 ...
(转)sybase教程
作者: jack 来源: armsun.net
概述 70年代,随着大型共享数据库应用的普及,美国SYBASE公司基于当时的关系代数理论所提出的数据库关系模型,开发了Sybase数据库系统; Sybase是基于SQL(Structured Query Language)的著名关系模型数据库系统,是世界上最流行的DBMS软件之一;它能在多种计算机硬件平台上运行,并能通过连网形成分布式数据库环境; SQL Server是指运行在主机上,能提供SQL语言查询、修改或控制数据库中内容等操作的一个服务进程,形象地把它理解为一个数据库服务器;一般地 ...
新软发布:Autorun病毒免疫工具
- 博客分类:
- 新软发布
软件名称:Autorun病毒免疫工具版本:1.0====================
软件简介:Autorun病毒由来已久,致使您双击硬盘和/或移动设备的盘符即被感染,苦不堪言!
Autorun病毒免疫工具网上也可下载到,但有些自带病毒,使您免疫了Autorun病毒又中招其它,伤痕累累……
本工具免疫Autorun病毒,本身无毒,是您必备之工具。自带一键设置网址导航功能,畅网任您指点!
下载