快速业务通道

精通Grails: Grails与遗留数据库 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
换为逗号分割值(comma-separated value,CSV)、GeoJSON、Keyhole 标记语言(Keyhole Markup Language,KML)以及其他很多种格式。

为了确保自动编号的 id 字段被恢复为相同的值,一定要在恢复表前将它们全部删除。这样就可以在 下次启动 Grails 重新创建表时将自动编号重置为 0。

将机场数据安全地备份之后(大概其他表中的数据也已经安全备份了),那么现在您就可以开始试验 一些新的 “遗留” 数据了。不懂么?看完下一小节您就会明白了。

精通Grails: Grails与遗留数据库(4)

时间:2011-07-29 IBM Scott Davis

导入新的机场数据

美国地质勘探局(United States Geological Survey,USGS)发表了一个全面的美国机场的列表,包 括 IATA 代码和纬度/经度。果然,USGS 字段与现行使用的 Airport 类不相匹配。虽然可以改变 Grails 类,使它与 USGS 表中的名称相匹配,但是这要大量改写应用程序。相反,本文不需要这样做,而是探讨 几种不同的技术,在后台将现有的 Airport 类无缝映射到新的、不同的表模式中。

首先,需要将 USGS “遗留” 数据导入到数据库。然后运行清单 4 中的 createUsgsAirports.groovy 脚本,创建新表(该脚本假设您正在使用 MySQL。由于每个数据库创建新表 的语法有所不同,所以使用其他数据库时,需要对该脚本做出适当修改)。

清单 4. 创建 USGS 机场表

sql = groovy.sql.Sql.newInstance(    "jdbc:mysql://localhost/trip?autoReconnect=true",    "grails",    "server",    "com.mysql.jdbc.Driver") ddl = """ CREATE TABLE usgs_airports (   airport_id bigint(20) not null,   locid varchar(4),   feature varchar(80),   airport_name varchar(80),   state varchar(2),   county varchar(50),   latitude varchar(30),   longitude varchar(30),   primary key(airport_id) ); """ sql.execute(ddl)

看一看清单 5 中的 usgs-airports.xml。它是 GML 格式的一个例子。该 XML 要比清单 2 中由备份 脚本创建的简单的 XML 复杂一些。这其中,每一个元素都处在一个名称空间中,而且元素嵌套得更深。

清单 5. GML 格式的 USGS 机场表

<?xml version="1.0" encoding="utf-8" ? > <ogr:FeatureCollection     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://ogr.maptools.org/airports.xsd"     xmlns:ogr="http://ogr.maptools.org/"     xmlns:gml="http://www.opengis.net/gml">   <gml:featureMember>    <ogr:airprtx020 fid="F0">     <ogr:geometryProperty>      <gml:Point>       <gml:coordinates>-156.042831420898438,19.73573112487793</gml:coordinates>      </gml:Point>     </ogr:geometryProperty>     <ogr:AREA>0.000</ogr:AREA>     <ogr:PERIMETER>0.000</ogr:PERIMETER>     <ogr:AIRPRTX020>1</ogr:AIRPRTX020>     <ogr:LOCID>KOA</ogr:LOCID>     <ogr:FEATURE>Airport</ogr:FEATURE>     <ogr:NAME>Kona International At Keahole</ogr:NAME>     <ogr:TOT_ENP>1271744</ogr:TOT_ENP>     <ogr:STATE>HI</ogr:STATE>     <ogr:COUNTY>Hawaii County

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号