
数据库
iteye_7872
这个作者很懒,什么都没留下…
展开
-
数据库单元测试
Agile在国内已经流行了很长一段时间了,有各个方面的敏捷实践。在数据库方面当然也不例外。写DAO代码已经很长时间了,记得很早的时候写DAO代码,还会去经常写写测试用例,但主要就是数据库状态的保持太难,那个时候只知道添加完成之后,然后再删除,手工保证数据库的状态。 这种方式到后来就变得比较困难了,因为代码经常改动,改动了之后,数据库测试用例就跑不起来了,另外,自己没有开发数据...2007-03-30 19:00:04 · 178 阅读 · 0 评论 -
数据基线改版
由于底层实体工具改动,数据基线生成程序不得不重新改写。以前老的方式,是需要自己去实现数据库Schema的定义,将实体定义的XML文件完全转换为对应的hsqldb的表结构,其中需要做很多比较繁琐的操作。 新的方式,完全借助于hibernate的schema自动生成技术,就把定义好的实体转换到了hsqldb的表。 期间,遇到的两个主要问题: 1. 通过hibernat...2008-03-19 22:04:34 · 181 阅读 · 0 评论 -
DBUnit实践
经过下午和晚上的摸索,基本上已经搞定了DBUnit。说实在话,我觉得DBUnit比较简单,如果我去设计的话,应该也能够设计得比较好。不过,我只对MYSQL, HSQLDB稍微熟悉一点,其它的数据库就不行了 好了,闲话少说。 在开始DBUnit实践之前,我调查了相关的DBUnit的资料,调查了一些做DAO测试的观点和看法。 ...2007-05-21 23:12:23 · 103 阅读 · 0 评论 -
Hibernate Sync DAO封装小结
转一篇我在项目BLOG上写的文章。搞Hibernate Sync花了一段时间,算小结一下吧。Hibernate Sync虽然不是很强大,但是,对于一般的简单应用来说,也是足以应付了。最近在研究DBUnit,想把单元测试引入到咱们的数据库DAO测试中来。做了一些试验,我也对DBUnit做了一些封装,以后写基于DBUnit 的TestCase就像写Junit的单元测试那样简单:) 如果有需要的...2007-05-24 21:05:10 · 196 阅读 · 0 评论 -
事务是在DAO还是在Service
今天下午和新来的同事聊起技术研究来了,大家都有一个共同点,就是从项目的需要出发,解决最根本,最本质的问题是我们技术研究的目标。 期间,我们谈到项目中的异常处理框架的问题;谈到事务处理的问题;谈到引入AOP解决很多需要改代码才能加功能的问题;最后谈到领域建模的问题。 我觉得通过这样的交流是比较有好处的,自己也得到了提高,至少对事务在哪里处理这一点上。我...2007-05-29 16:40:34 · 193 阅读 · 0 评论 -
批量删除
java 代码 public void deleteAllBugInTestReport(Integer testReportId) throws DaoException { try { Session session = HibernateUtil.getSession(); ...2007-05-31 10:55:15 · 106 阅读 · 0 评论 -
BUG Tracing
今晚老大让我帮他解决一个BUG,该BUG出来得很奇怪,在MYSQL上可以,在SQLSERVER上就不行。我一听,难道又是SQLSERVER和MYSQL之间数据库的差异,怎么老是遇到这事情? 怀着惴惴不安之心,我开始了追虫过程。建立工程之后,立马run了一下,确实是出现了那个文件。详细察看出错信息,说有列名无效。 找到出错行,一看,HQL语法中貌似有个...2007-05-31 22:09:55 · 128 阅读 · 0 评论 -
mysql开发工具套件
mysql4.0不支持嵌套查询,需要转换到mysql5上来。mysql5.0.x版本从2005年就已经发布了,其实功能还是蛮强大的,应该从那个时候就要开始做数据迁移了,升级数据库了,这样能够提高一下整个系统的性能。 毕竟,数据库的提升还是很明显的啊。 mysql官方网站的东西很多,很全。很长时间不看,倒是发现了不少好东西。我先后下载了mysql5.0.51b(现在5...2008-05-21 00:35:58 · 165 阅读 · 0 评论 -
批处理概念误解
今天被同事指出了程序中的一个性能问题,主要是关于批处理的。我对他表示感谢,帮我弄清楚了这个问题。 错误是这样:我以为只要把对数据库的操作放在Transaction当中,那么在Transaction当中所做的操作,只要没有提交都不会反应到数据库中去。如果事务回滚的话,那么在这个事务中的所有操作都将回滚。 按说,上面这句话也是没有错误的,但是错误就发生在...2007-07-05 16:51:22 · 116 阅读 · 0 评论 -
preparedStatment与Statement的区别
如果一个sql语句很复杂,包含多条SQL语句的话,PreparedSatement与Statement之间的执行会有区别。 PreparedStatment是预编译的语句,如果用非批处理方法如:execute(), executeQuery()方法是不正确的,会出现Exception。但是,利用Statement可以执行成功,看来,这也是PreparedStatme...2007-04-25 22:00:40 · 260 阅读 · 0 评论 -
hsqldb Cached Table转变
之前,使用HSQLDB的时候没有考虑客户端内存的大小,建立的表都是Memory Table。这样,将表加载到客户端的时候,就会出现关于内存大小不够用的问题。昨天,打32个项目的PCB基线的时候,就出现了内存溢出的事情。 虽然,可以通过设置JVM的大小改变JVM所能占有的内存大小。btw:这里需要设置服务器端和客户端。java 代码 set JAVA_OP...2007-04-21 15:00:05 · 319 阅读 · 0 评论 -
HSQLDB 带Connection的Stored Procedure
先抱怨几句: javaeye出问题了,我写了一篇文章,点击提交,它居然告诉我没有权限,难道我自己不能编辑自己的BLOG?好,即便这样吧,我输入用户名,密码重新进入之后,再提交,居然还是没有权限?这么回事啊?郁闷,写好的东西被白白毁掉了,还要重新来,看看是否要花一个小时才能搞好呢……拜托,系统还是要做得稳定一点。 算了吧,做人要低调。主要是讲hsqldb中的存储过程,hsqldb支持...2007-04-02 14:03:04 · 188 阅读 · 0 评论 -
hql in depth
这个问题其实相当简单,但是,我在之前开发当中就不知道这样的用法。今天google到这种用法,实在是爽,也为以前没有好好search而懊恼。 问题:需要通过多表联合查询,并且返回单表所对应的实体。也就是说:希望返回包含实体的列表,而不是包含对象数组的列表。 解决方法: hql 代码 select b fr...2007-04-04 15:43:43 · 79 阅读 · 0 评论 -
HSQLDB Create View
HSQLDB Create VIEW是创建数据库视图的SQL命令。发现了Create View的一个问题,不知道是不是HSQLDB的BUG。 在文件数据库中的时候,Create View命令使用正常,结果正确,但是用HSQLDB自带的那个DataBase Manager(GUI)程序看不到定义好的数据库视图。但查询正确。 但是,根据文...2007-04-05 09:52:20 · 150 阅读 · 0 评论 -
Hibernate Session中文翻译
确实是相当好。这几天正忙着维护以前开发的系统基础数据以及过程数据导入导出工具。该工具主要是基于Hibernate来完成的。将数据库的内容序列化为XML文件。具体是通过Hibernate的DOM4J来进行操作的,将数据库中的表变成XML。恢复的过程,就是解析该XML,将内容存储到数据库中的过程。这里面主要牵涉XML和数据库之间的转换操作,Hibernate有比较好的支持。 ...2007-04-12 14:28:27 · 436 阅读 · 0 评论 -
磁盘I/O也能够让程序不正确
HSQLDB数据库执行SHUTDOWN命令,如果系统磁盘I/O性能不是很好的话,也能够造成程序的错误。 该BUG是因为HSQLDB 数据库执行ShutDown命令之后,由于客户端正在运行BT, Emule这样的程序,使得客户端的磁盘一直都处于I/O状态。因此,在程序调用shutdown命令之后,文件系统并没有在非常短的时间内完成文件操作。 ...2007-04-13 19:29:16 · 83 阅读 · 0 评论 -
hsql script文件加密
现在的应用中并没有对hsqldb的script文件进行加密,也没有改变初始的用户名和密码。如果有需要的话,下面的这段话会有作用。 Okay, I think I found the solution. I will write it down for other people that are interested.When you create your database...2007-04-14 19:28:43 · 221 阅读 · 0 评论 -
SPA数据管理工具的设计
事先声明,这篇设计也是因为编辑时间较长,被JAVAEYE给拦截了。这个是实现后的设计文档。 背景: SPA以及相关基础数据导出是产品的一个附加功能组件,能够将系统的SPA以及相关数据导入导出到安装在其它平台上,实现SPA的导入导出。 解决问题: 主要有两个: 1. 数据...2007-04-18 16:05:00 · 365 阅读 · 0 评论 -
SQL变化到极致
sql 代码 select test_report.test_project_id, project_info.project_name, test_report.test_report_id, test_report.report_title, enum_data.enum...2007-04-18 23:04:36 · 87 阅读 · 0 评论 -
.NET SQLITE编程
OK,今天终于完成了第一部分。 1. 完成QMP TRAY中对REPORT_DATE表的操作,.NET SQLITE ADO.NET,其实使用的是保平提供的封装接口。 2. 将QMP SERVER提供的WEB SERVICE封装成.NET WEB引用,编写WSConfig对WEB SERVICE URL地址进行封装。 3...2007-07-18 22:46:22 · 101 阅读 · 0 评论