четверг, 19 июля 2012 г.

Пост 8. CRUD. Delete.

Итак, едем дальше. Создавать записи мы уже умеем. Умеем вытаскивать записи и умеем иъ изменять. Осталось только научиться удалять. Тут все предельно просто.


    public static void DeleteKey(String sKey, String store, String host, String port) {
        OraStore orastore = new OraStore(store, host, port);
        KVStore myStore = orastore.getStore();
        System.out.println("Store Opened");
        Key myKey = ParseKey.ParseKey(sKey);
        myStore.delete(myKey);
        myStore.close();
        System.out.println("Store Closed");
    }

Собственно, добавить мне нечего. От "скуки" я даже немного изменил концепцию - добавив коннект к базе кнутрь метода :) .
Ну и дабы разбавить этот достаточно неинтересный пост (будем объективны), привожу метод, который удаляет всю Вашу базу - очень удобно для разработки.


public static void ClearStore(String store, String host, String port) {
        OraStore orastore = new OraStore(store, host, port);
        KVStore myStore = orastore.getStore();
        System.out.println("Store Opened");

        System.out.println("Cleaning Store ...");

        Iterator<Key> keyIter = myStore.storeKeysIterator(Direction.UNORDERED, 0, null, null, null);
        Key key = null;
        List<String> majorPath = null;
        String majorPathStr = null;
        Hashtable<String, String> majorKeyHash = new Hashtable<String, String>();
        Integer count = 0;
        while (keyIter.hasNext()) {
            key = keyIter.next();
                  majorPath = key.getMajorPath();
            majorPathStr = majorPath.toString();
            if (!majorKeyHash.containsKey(majorPathStr)) {
                majorKeyHash.put(majorPathStr, majorPathStr);
                Key newkey = Key.createKey(majorPath);
                myStore.multiDelete(newkey, null, null);
                System.out.println(++count + " " + majorPathStr);
            }

        } //EOF while
        System.out.println("\nKVStore cleaned.");
        myStore.close();
        System.out.println("Store Closed");
    }

На сегодня наверное все.
Если у вас есть какие-либо вопросы по Oracle NoSQL - задавайте в комментах, постараюсь ответить, либо пишите на oracle.nosql@gmail.com.

Комментариев нет:

Отправить комментарий