我只是一个喜欢开发的测试,喜欢测试的开发,喜欢每天都知道得更多一些,更深入一些的感觉。。。。。
分类: 敏捷开发
2015-08-14 23:40:52
用ANT执行SQL
部署时很多时候需要更新数据库,今天初步考察了一下用Ant连接MySQL和Oracle,执行SQL语句或sql文件。
0. 软件版本
1) 操作系统:Win7 旗舰版(64位)
2) JDK:1.7
3) Eclipse:Mars Release (4.5.0) Eclipse Java EE IDE for Web Developers
4) ANT:apache-ant-1.9.6
5) MySQL:mysql-5.6.25-winx64
6) Oracle:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
7) mysql-connector-java-5.0.7
8) ojdbc6-11.2.0.3.0
1. Ant执行SQL方法说明
Ant中使用<sql>标签来执行SQL语句或sql文件,在这个标签中必须有的属性为:
1) driver:数据库驱动名,MySQL是"com.mysql.jdbc.Driver",Oracle是"oracle.jdbc.driver.OracleDriver"
2) url:数据库url,MySQL是"jdbc:mysql://IP/数据库名",Oracle是"jdbc:oracle:thin:@IP:port:SID"
3) userid:数据库用户
4) password:该数据库用户密码
5) classpath:数据库连接jar,MySQL是mysql-connector-java-版本号-bin.jar,Oracle是ojdbc6-版本号.jar
<sql>标签还有一个很有意思的属性print,如果置为true,则会打印执行sql的详细输出信息,在下面的例子中,我们都把这个属性打开,可以更好地跟踪sql的执行情况。
要执行的SQL语句(可以多个),可以直接放在<sql>标签中,也可以放在一个sql文件中,然后将文件名赋值给<sql>子标签<transaction>的src属性。下面的例子中这两个方式都有列出,其中直接用SQL语句的语句被注释掉了。
2. MySQL
例子很简单,我觉得我也写得很明白,呵,就不再做进一步的说明了,build.xml和mysql.sql都放在项目的根目录下,mysql.sql中包含的就是在代码中注释掉的两个SQL语句。
点击(此处)折叠或打开
执行结果:
3. Oracle
执行Oracle SQL语句和MySQL的,方法是完全一样的,区别只在于驱动名称,连接jar包,还有url的格式,当然用户名和密码也可能会不同,哈!
oracle.sql也在项目根目录下,其中包含的就是代码注释掉的那个SQL语句。
点击(此处)折叠或打开
参考资料
[1] Ant工具高级功能学习系列笔记(1)-整合Ant与Mysql数据库 http://blog.sina.com.cn/s/blog_4c925dca0100ibto.html