@Override
	public <T> T retrieveData(String query, Map<Integer, Object> params,
			Class<? extends Object> cls) {
		// TODO Auto-generated method stub
		try {
			con = getConnection();
			pstmt = con.prepareStatement(query);
			if(params != null){
				for(Integer key : params.keySet()){
					pstmt.setObject(key, params.get(key));
				}
			}
			resultSet = pstmt.executeQuery();
			if(resultSet.next()){
				System.out.println("Data present" + (Integer)resultSet.getObject(1));
				
			}
			return (T)fillData(resultSet, cls);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return null;
	}