WEB开发网
开发学院软件开发Java 精通 Grails: Grails 与遗留数据库 阅读

精通 Grails: Grails 与遗留数据库

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 美国地质勘探局(United States Geological Survey,USGS)发表了一个全面的美国机场的列表,精通 Grails: Grails 与遗留数据库(5),包括 IATA 代码和纬度/经度,果然,这其中,每一个元素都处在一个名称空间中,USGS 字段与现行使用的 Airpo

美国地质勘探局(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 复杂一些。这其中,每一个元素都处在一个名称空间中,而且元素嵌套得更深。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:精通 Grails Grails

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接