opntest.java

来自「EOmodeler 读取数据库的方法」· Java 代码 · 共 149 行

JAVA
149
字号
package test.eof;

import java.io.*;
import com.webobjects.eoaccess.EODatabaseContext;
import com.webobjects.eoaccess.EOModel;
import com.webobjects.eoaccess.EOModelGroup;
import com.webobjects.eoaccess.EOUtilities;
import com.webobjects.eocontrol.EOEditingContext;
import com.webobjects.eocontrol.EOObjectStoreCoordinator;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSLog;
import com.webobjects.foundation.NSMutableDictionary;

public class OPNTest{
	static Car hoho = null;
	public static Car getInstance()throws IOException{
//		    Car hoho = null;
		    System.out.println("122");
			if(hoho==null){
				hoho = new Car();
			}
			return hoho;
	}
	static DataGetterFromDBTest hihi = null;
	public static DataGetterFromDBTest getInstance1(){

	    System.out.println("122");
		if(hihi==null){
			hihi = new DataGetterFromDBTest();
		}
		return hihi;
}
}
   class Car{
	   
	public void testEOF() {
		EOModel model = new EOModel("JetBlue.eomodeld");
		NSMutableDictionary overrides = new NSMutableDictionary();
		overrides.takeValueForKey("root", "username");
		overrides.takeValueForKey("123", "password");
		
		EOObjectStoreCoordinator osc = new EOObjectStoreCoordinator();
		
		EOModelGroup mp = new EOModelGroup();
		
		mp.addModel(model);
		EOModelGroup.setModelGroupForObjectStoreCoordinator(osc, mp);
		
		EOEditingContext ec = new EOEditingContext(osc);
		
		EODatabaseContext.forceConnectionWithModel(model, overrides, ec);
		
		NSArray entryList;

		try {
			entryList = EOUtilities.rawRowsForSQL(ec, model.name(),"select * from flight", null);
		} catch (Exception e) {
			System.out.println(e);
			entryList = new NSArray();
		}
		System.out.println(entryList);
//		return entryList;
	}

	
   }
   
   class DataGetterFromDBTest {
	   
		String EOMODEL_Name = "JetBlue.eomodeld";
		String USER_NAME = "root";
		String PASSWORD = "123";
		String sql;
		EOModel model;
		EOObjectStoreCoordinator osc;
		EOModelGroup mp;
		EOEditingContext ec;
		NSMutableDictionary overrides;
		
		
		public DataGetterFromDBTest(){
			model = new EOModel(EOMODEL_Name);
			overrides = new NSMutableDictionary();
			overrides.takeValueForKey(USER_NAME, "username");
			overrides.takeValueForKey(PASSWORD, "password");
			
			osc = new EOObjectStoreCoordinator();
			mp = new EOModelGroup();
			mp.addModel(model);
			EOModelGroup.setModelGroupForObjectStoreCoordinator(osc, mp);
			
			ec = new EOEditingContext(osc);
			EODatabaseContext.forceConnectionWithModel(model, overrides, ec);
		}
		

		//return a NSArray which represents one task of the airplane 
		public NSMutableDictionary getAirplaneTaskByPointer(int AirplaneID,int count) {
			NSArray taskSet = new NSArray();
			String Airplane1 = Integer.toString(AirplaneID); 
			NSMutableDictionary result;
			try {
				sql ="select * from flight where airplane_plan="+Airplane1+" order by DEP_TIME";
				taskSet = EOUtilities.rawRowsForSQL(ec, model.name(),sql, null);
			} catch (Exception e) {
				System.out.println(e);
			}
//			int count1;
//			count1 = Integer.valueOf(count).intValue();
			result = (NSMutableDictionary)taskSet.objectAtIndex(count);
			System.out.println(result);
			return result;
		}
		
		public NSArray getAirplanes() {
			NSArray taskSet = new NSArray();
			try {
				sql ="select * from airplane";
				taskSet = EOUtilities.rawRowsForSQL(ec, model.name(),sql, null);
			} catch (Exception e) {
				System.out.println(e);
			}
			return taskSet;
		}
		
		public int airplanesNum() {
			NSArray taskSet = new NSArray();
			try {
				sql ="select * from airplane order by id";
				taskSet = EOUtilities.rawRowsForSQL(ec, model.name(),sql, null);
			} catch (Exception e) {
				System.out.println(e);
			}
			return taskSet.count();
		}
		
		public String airplaneID(int pointer) {
			NSArray taskSet = new NSArray();
			try {
				sql ="select * from airplane order by airplane_id";
				taskSet = EOUtilities.rawRowsForSQL(ec, model.name(),sql, null);
			} catch (Exception e) {
				System.out.println(e);
			}
			NSMutableDictionary result=(NSMutableDictionary)taskSet.objectAtIndex(pointer);
			return result.valueForKey("AIRPLANE_ID").toString();
		}

	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?