public void update(Table table) {
		
		String sql = "update  " + table.getName()  
				+ " SET " + table.asUpdateQuery()
				+ " WHERE " + table.asUpdateQuery();
		
		Connection conn = null;
		PreparedStatement ps = null;
		
		System.out.println("Update new domains on table: " + table.getName());
		
		try {
			conn  = dataSource.getConnection();
			ps = conn.prepareStatement(sql);
			
			conn.setAutoCommit(false);
			for (RowData row : table.getRowDataList()) {
				
				for (Integer j : row.getIndexList()) {
					
					ps.setString( j, Util.generateRandomDomain() );
					ps.setString( j + row.getNumberOfColoum(), row.getValue(j) );
					
				}
				ps.addBatch();
			}
			
			ps.executeBatch();
			conn.commit();
			
		} catch (SQLException e) {
			
			e.printStackTrace();
			try {
				conn.rollback();
			} catch (SQLException e1) {
				e1.printStackTrace();
			}
			
		} finally {
			
			if (ps != null) {
				try {
					ps.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		
		
	}