📄 databinding.java
字号:
package barchant;import java.lang.*;import java.util.*;import java.awt.*;import com.mapinfo.mapj.*;import javax.swing.*;import com.mapinfo.beans.vmapj.VisualMapJ;//以下包是用于数据绑定的import com.mapinfo.dp.tab.TABDataProviderHelper;import com.mapinfo.dp.tab.TABTableDescHelper;import com.mapinfo.dp.databinding.JDBCTableDescHelper;import com.mapinfo.dp.databinding.JDBCDataProviderHelper;import com.mapinfo.dp.databinding.DataBindingDataProviderHelper;import com.mapinfo.dp.databinding.DataBindingTableDescHelper;import com.mapinfo.mapxtreme.client.MapXtremeDataProviderRef;/* 本例用于显示怎样将数据库中的属性数据与地图进行动态连接,即可在本地的地图tab上,加上数据库的属性数据 在DataProvider例子中是将数据库的空间数据整个下载显示出来,而本例则是采用本地的空间数据而没有用数据库中的 */public class DataBinding extends JFrame{ public FeatureLayer world;//Feature对象用来访问地图对象 public ArrayList cols; public VisualMapJ myMap;//可管理地图集的各种状态,并向服务器转发客户请求 public Hashtable ht; public DataBinding() { try{ //创建地图 myMap=new VisualMapJ(); //该目录下tab,map,dat文件是必需的 String tabDir = "d:\\program files\\MapInfo\\MapXtreme-4.7.0\\examples\\server\\data"; //为每个表创建DataProviderHelper,用于定义数据源,这里是为本地文件创建 TABDataProviderHelper tabDPH = new TABDataProviderHelper(tabDir); String tabFile = "world.tab"; /* 作了以下测试,将一个含有country字段的songqian.tab空白图层与world表中的country属性相连,成功 */ //为每个表创建TableDescHelper,用于描述数据,这里是为本地文件创建 TABTableDescHelper tabDesc = new TABTableDescHelper(tabFile); String dbUrl = "jdbc:oracle:thin:@172.23.206.229:1521:lk"; String user = "system"; String password = "manager"; String driverClass = "oracle.jdbc.driver.OracleDriver"; //为每个表创建DataProviderHelper,这里是为数据库表创建 JDBCDataProviderHelper jdbcDPH = new JDBCDataProviderHelper(dbUrl, user, password, driverClass); String tableName = "world"; //为每个表创建TableDescHelper,用于描述数据,这里是为数据库表创建 JDBCTableDescHelper jdbcDesc = new JDBCTableDescHelper(tableName, user); //创建DataBindingDataProviderHelper,用于定义数据源,将本地文件和数据库表连接 DataBindingDataProviderHelper dbDPH = new DataBindingDataProviderHelper(tabDPH, jdbcDPH); String[] tabBindCol = {"country"}; String[] jdbcBindCol = {"country"}; //创建DataBindingTableDescHelper,用于描述数据,将本地文件和数据库表连接 DataBindingTableDescHelper dbDesc = new DataBindingTableDescHelper(tabDesc, jdbcDesc, tabBindCol,jdbcBindCol); //创建DataProviderRef用于描述获取数据的方式 String servletUrl = "http://localhost:8088/mapxtreme47/mapxtreme"; MapXtremeDataProviderRef dpRef = new MapXtremeDataProviderRef(dbDPH, servletUrl); //添加该层 myMap.getMapJ().getLayers().addLayer(dpRef, dbDesc, "DataBinding Layer"); //布局 this.setSize(800,500); //地图放中间 this.getContentPane().add(myMap,BorderLayout.CENTER); this.setVisible(true); this.show(); }catch(Exception e){ System.out.println("Error"); e.printStackTrace(); }} public static void main(String args[]){ DataBinding dp=new DataBinding(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -