首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

web施用oracle迁移mysql开发版(四)

2012-09-28 
web应用oracle迁移mysql开发版(四)收尾工作?回想一下,我们的去O工作完成了么?还没有,我们还在单元测试的阶

web应用oracle迁移mysql开发版(四)
收尾工作

?

回想一下,我们的去O工作完成了么?还没有,我们还在单元测试的阶段。
这时候需要做2个工作:


1、找到开发线上的data-source.xml,更换成单元测试的“样子”类似下面的:

?

?

2、更改antx.properties里的配置项。(发布时需要SA帮忙把配置项更新成mysql的)

?

注:这里的antx.properties是一个属性文件,公司web框架的一个配置文件,用于初始化信息用的。每个公司可能不同,也有可能没有这个配置文件,而是写死在xml文件里的。

?

一些额外的注意点

?

1、建表语句


在PLSQL中我们导出表结构是这样的

就OK了。
异常说明:Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost
百度了一下,有个人也遇见了这个异常,解决方法就是添加这三个配置项

?

3、关于org.springframework.test.AbstractTransactionalDataSourceSpringContextTests的单元测试。


还记得建表时的ENGINE=InnoDB么?当我们使用spring的单元测试时,我们如果没有指定引擎会导致事务无法回滚。
引用iteye里的答案:
“没有指定表的引擎. 而Mysql5.x在linux下的默认引擎是MyISAM, 而不是期望的InnoDB, 所以建立数据库表时如果没有指定引擎, 那么表的引擎MyISAM, 从而导致不支持事务. 解决办法是把所有的表的引擎改为InnoDB后, 事务正常回滚了.”

?

4、关于利用sql脚本来批量初始化数据库


有一些web程序,在做biz层的单元测试时,会利用一个统一的sql脚本来批量初始化数据,来达到避免在单元测试中赘述DAO的insert语句。
在你的初始化sql脚本中,注意不要将ID设置成0,否则每一次执行单元测试时,都会向表中插入一条数据。而在mysql的命令行下,即使设置id为0也不会影响对数据库的插入动作。

热点排行