mysql4.0不支持嵌套查询,需要转换到mysql5上来。mysql5.0.x版本从2005年就已经发布了,其实功能还是蛮强大的,应该从那个时候就要开始做数据迁移了,升级数据库了,这样能够提高一下整个系统的性能。
毕竟,数据库的提升还是很明显的啊。
mysql官方网站的东西很多,很全。很长时间不看,倒是发现了不少好东西。我先后下载了mysql5.0.51b(现在5.0最新的版本了),mysql5.1还不是很稳定,不能用。
mysql-connector-java-5.1.6:这个一定要注意,这个驱动是最新的驱动,可支持从mysql4之上的所有版本,使用java做网 ...
由于底层实体工具改动,数据基线生成程序不得不重新改写。以前老的方式,是需要自己去实现数据库Schema的定义,将实体定义的XML文件完全转换为对应的hsqldb的表结构,其中需要做很多比较繁琐的操作。
新的方式,完全借助于hibernate的schema自动生成技术,就把定义好的实体转换到了hsqldb的表。
期间,遇到的两个主要问题:
1. 通过hibernate操作hsqldb,需要用standalone模式。设置hibernate的autocommit属性为true,并不会每次操作好数据库之后,就更新到数据库中。居然要使用事务才可以。从log文件中可以看到很明显。
...
OK,今天终于完成了第一部分。
1. 完成QMP TRAY中对REPORT_DATE表的操作,.NET SQLITE ADO.NET,其实使用的是保平提供的封装接口。
2. 将QMP SERVER提供的WEB SERVICE封装成.NET WEB引用,编写WSConfig对WEB SERVICE UR ...
今天被同事指出了程序中的一个性能问题,主要是关于批处理的。我对他表示感谢,帮我弄清楚了这个问题。
错误是这样:我以为只要把对数据库的操作放在Transaction当中,那么在Transaction当中所做的操作,只要没有提交都不会反应到数据库中去。如果事务回滚的话,那么在这个事务中的所有操作都将回滚。
按说,上面这句话也是没有错误的,但是错误就发生在:虽然是在事务中所做的操作不会对数据库产生什 ...
今晚老大让我帮他解决一个BUG,该BUG出来得很奇怪,在MYSQL上可以,在SQLSERVER上就不行。我一听,难道又是SQLSERVER和MYSQL之间数据库的差异,怎么老是遇到这事情?
怀着惴惴不安之心,我开始了追虫过程。建立工程之后,立马run了一下,确实是出现了那个文件。详细察看出错信息,说有列名无效。
找到出错行,一看,HQL语法中貌似有个地方不对,明明是字符串类型的比较, ...
java 代码
public void deleteAllBugInTestReport(Integer testReportId) throws DaoException {
try {
  ...
今天下午和新来的同事聊起技术研究来了,大家都有一个共同点,就是从项目的需要出发,解决最根本,最本质的问题是我们技术研究的目标。
期间,我们谈到项目中的异常处理框架的问题;谈到事务处理的问题;谈到引入AOP解决很多需要改代码才能加功能的问题;最后谈到领域建模的问题。
我觉得通过这样的交流是比较有好处的,自己也得到了提高,至少对事务在哪里处理这一点上。我认识到之前我的程序的设计不正确, ...
转一篇我在项目BLOG上写的文章。搞Hibernate Sync花了一段时间,算小结一下吧。
Hibernate Sync虽然不是很强大,但是,对于一般的简单应用来说,也是足以应付了。
最近在研究DBUnit,想把单元测试引入到咱们的数据库DAO测试中来。做了一些试验,我也对DBUnit做了一些封装,以后写基于DBUnit 的TestCase就像写Junit的单元测试那样简单:) 如果有需要的话,我可以整理一下关于数据库DAO测试的内容,给大家汇报一下:)
在做例子的过程中,我使用Hibernate Sync来生成DAO方法。为什么选用Hibernate Sync,因为它简单,并 ...
经过下午和晚上的摸索,基本上已经搞定了DBUnit。说实在话,我觉得DBUnit比较简单,如果我去设计的话,应该也能够设计得比较好。不过,我只对MYSQL, HSQLDB稍微熟悉一点,其它的数据库就不行了
好了,闲话少说。
在开始DBUnit实践之前,我调查了相关的DBUnit的资料,调查了一些做DAO测试的观点和看法。
&n ...
如果一个sql语句很复杂,包含多条SQL语句的话,PreparedSatement与Statement之间的执行会有区别。
PreparedStatment是预编译的语句,如果用非批处理方法如:execute(), executeQuery()方法是不正确的,会出现Exception。但是,利用Statement可以执行成功,看来,这也是PreparedStatment和Statement语句的区别吧。
& ...
之前,使用HSQLDB的时候没有考虑客户端内存的大小,建立的表都是Memory Table。这样,将表加载到客户端的时候,就会出现关于内存大小不够用的问题。昨天,打32个项目的PCB基线的时候,就出现了内存溢出的事情。
虽然,可以通过设置JVM的大小改变JVM所能占有的内存大小。btw:这里需要设置服务器端和客户端。
java 代码
set JAVA_OPTS=-server -Xms512m -Xmx512m&n ...
sql 代码
select
test_report.test_project_id,
project_info.project_name,
test_report.test_report_id,
&nb ...
事先声明,这篇设计也是因为编辑时间较长,被JAVAEYE给拦截了。这个是实现后的设计文档。
背景:
SPA以及相关基础数据导出是产品的一个附加功能组件,能够将系统的SPA以及相关数据导入导出到安装在其它平台上,实现SPA的导入导出。
解决问题:
&n ...
现在的应用中并没有对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, execute this statement to the database:
SET SCRIPTFORMAT BINARY
...
HSQLDB数据库执行SHUTDOWN命令,如果系统磁盘I/O性能不是很好的话,也能够造成程序的错误。
该BUG是因为HSQLDB 数据库执行ShutDown命令之后,由于客户端正在运行BT, Emule这样的程序,使得客户端的磁盘一直都处于I/O状态。因此,在程序调用shutdown命令之后,文件系统并没有在非常短的时间内完成文件操作。
...
确实是相当好。这几天正忙着维护以前开发的系统基础数据以及过程数据导入导出工具。该工具主要是基于Hibernate来完成的。将数据库的内容序列化为XML文件。具体是通过Hibernate的DOM4J来进行操作的,将数据库中的表变成XML。恢复的过程,就是解析该XML,将内容存储到数据库中的过程。这里面主要牵涉XML和数据库之间的转换操作,Hibernate有比较好的支持。
由于数据是有可能恢复到非空数据库,导入的逻辑还比较复杂,需要处理主键冲突 ...
HSQLDB Create VIEW是创建数据库视图的SQL命令。发现了Create View的一个问题,不知道是不是HSQLDB的BUG。
在文件数据库中的时候,Create View命令使用正常,结果正确,但是用HSQLDB自带的那个DataBase Manager(GUI)程序看不到定义好的数据库视图。但查询正确。
  ...
这个问题其实相当简单,但是,我在之前开发当中就不知道这样的用法。今天google到这种用法,实在是爽,也为以前没有好好search而懊恼。
问题:需要通过多表联合查询,并且返回单表所对应的实体。也就是说:希望返回包含实体的列表,而不是包含对象数组的列表。
解决方法:
...
先抱怨几句:
javaeye出问题了,我写了一篇文章,点击提交,它居然告诉我没有权限,难道我自己不能编辑自己的BLOG?
好,即便这样吧,我输入用户名,密码重新进入之后,再提交,居然还是没有权限?
这么回事啊?
郁闷,写好的东西被白白毁掉了,还要重新来,看看是否要花一个小时才能搞好呢……拜托,系统还是要做得稳定一点。
算了吧,做人要低调。
主要是讲hsqldb中的存储过程,hsqldb支持用java方法编写存储过程,只需要将java方法变成类的静态方法。然后将该静态方法定义为可以被调用的存储过程。之后,在sql中就可以调用该存储过程了。说起来 ...
Agile在国内已经流行了很长一段时间了,有各个方面的敏捷实践。在数据库方面当然也不例外。写DAO代码已经很长时间了,记得很早的时候写DAO代码,还会去经常写写测试用例,但主要就是数据库状态的保持太难,那个时候只知道添加完成之后,然后再删除,手工保证数据库的状态。
这种方式到后来就变得比较困难了,因为代码经常改动,改动了之后,数据库测试用例就跑不起来了,另外,自己没有开发数据库,即便是有的话,里头的数据也是经常变的。更多的是到后期集成测试的时候,改动的数据库。
到后来,听ThoughtWorks公司的Fred George讲敏捷开发的时候,问到他如何进行单元测试。他给我讲的 ...







评论排行榜