public Vector<LinkedHashMap<String, String>> select(LinkedHashMap<String, String> fieldData, LinkedHashMap<String, String> whereData, String condition){
		String query = "SELECT ";
		String fields = "", wheres = "FROM " + getTableName() + " WHERE ";
		int fieldLen = fieldData.size(), whereLen = whereData.size(), countF = 0;
		String keySet[] = new String[fieldLen];
		
		//	Generate field
		for(Map.Entry<String, String> entry : fieldData.entrySet()){
			countF++;
			String param = entry.getKey();
			String arg = entry.getValue();
			
			//	Add params and args
			if(param.startsWith("s-")){
				String paramSplit[] = param.split("-");
				fields += paramSplit[1];
				keySet[countF-1] = paramSplit[1];
			}else{
				fields += param;
				keySet[countF-1] = param;
			}
			
			if(countF < fieldLen){
				fields += ",";
			}
		}
		
		int countW = 0;
		//	Generate where
		for(Map.Entry<String, String> entry : whereData.entrySet()){
			countW++;
			String param = entry.getKey();
			String arg = entry.getValue();
			
			//	Add params and args
			if(param.startsWith("s-")){
				String paramSplit[] = param.split("-");
				wheres += paramSplit[1] + "=" + "\"" + arg + "\"";
			}else{
				wheres += param + "=" + arg;
			}
			
			if(countW < whereLen){
				wheres += " " + condition + " ";
			}
		}
		
		query += fields + " " + wheres + ";";
		System.out.println(query);

		// Transact with DB
		Vector<LinkedHashMap<String, String>> vec = new Vector<LinkedHashMap<String,String>>();
		try{
			stm = getConn().createStatement();
			resSet = stm.executeQuery(query);
			int count = 0;
			
			
			
			while(resSet.next()){
				LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
				map.put(keySet[count], resSet.getString(keySet[count]));
				vec.add(map);
			}
		}catch(SQLException e){
			e.printStackTrace();
		}

		return vec;
	}