Использование библиотеки jackcess для работы с MS Access через Java

👁 246 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Jakcess — библиотека на чистом Java для чтения и редактирования реляционной базы данных Access от компании Microsoft. Данная библиотека, на момент написания данной статьи(а это 30.04.2014), поддерживает версии MS Access 2000 — 2010. Данная библиотека предоставляет кросс-платформенный, ясный Java API для использования MS Access в пользовательских Java программах . Jakcess хорошо задокументирован и является частью проекта OpenHMS, который является брендом, продвигающий коллекции open source проектов.

Что нам потребуется для использования библиотеки Jackcess?

Если мы скачаем библиотеку jackcess.jar  попытаемся использовать ее, то у нас ничего не получится, так как у Jakcess есть зависимости, т.е. он еще нуждается в дополнительных библиотеках, которые будет необходимо параллельно добавить. Данные зависимости используются только самой библиотекой, вам остается только пользоваться чисто классами Jackcess и все. Ниже приведу зависимости которые будут необходимы для полноценной работы и следует отметить, что необходимо учитывать версии зависимостей, так как новая версия зависимости может включать видоизмененные классы, которые в текущей версии библиотеки Jackcess не успели обновить, поэтому вам необходимо это учитывать.

Зависимости компиляции

Ниже представлен список зависимостей, которые требуются для компиляции и запуска приложения с библиотекой Jackcess:

Наименование Ссылка  Версия   Тип  Лицензия Опции
commons-lang commons-lang 2.0 jar The Apache Software License, Version 2.0 Нет
commons-logging commons-logging 1.0.3 jar The Apache Software License, Version 2.0 Нет
org.apache.poi poi 3.9 jar The Apache Software License, Version 2.0 Да

Зависимости запуска программы с Jackcess

Следующие зависимости необходимы для среды времени выполнения:

 Наименование   Ссылка   Версия   Тип  Лицензия Опции
log4j log4j 1.2.7 jar The Apache Software License, Version 2.0 Да

Зависимости для тестирования

Следующие зависимости необходимы для тестирования приложения с Jackess:

Наименование Ссылка Версия Тип Лицензия
junit junit 4.11 jar Common Public License Version 1.0

Замечание 1. В данной статье приведены 3 зависимости, полный перечень зависимостей можете найти на официальном сайте — вот на этой странице.

Замечание 2.  Вам не нужно иметь все зависимости, достаточно те, которые я тут привел.

Пример использования Jackcess

try {
    Table table = DatabaseBuilder.open(new File("E:\\file.mdb")).getTable("Table");//Читаем из таблицы "Table"
     for(Row row : table) {
        System.out.println("Look ma, a row: " + row.get("Column"));//Читаем колонку под именем "Column"
     }
} catch (Exception ex) {
    ex.printStackTrace(); 
}

 

Часть 1. Работа с XML в Java. Описание

👁 101 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

В Java JDK встроены 2 вида XML парсеров, которые доступны как DOM(Document Object Model) и SAX(Simple API for XML). У обеих у них как свои преимущества, так и недостатки. В данном посте приведены примеры работы с файлами XML: будет создан, изменен и прочтен файл XML с помощью DOM и SAX.

DOM XML парсер

DOM парсер — это самый легкий инструмент для работы с XML структурой в Java. При использовании данного подхода все содержимое файла XML загружается в память компьютера, моделируя объект, чтобы можно было легко производить операции со структурой файла, но, данная легкость расплачивается  прожорливостью памяти и ресурсов процессора, поэтому, данный способ эффективен, если производиться операция с файлом небольшого размера.

SAX XML парсер

SAX парсер, в отличии от DOM, не загружает структуру документа в память, а использует для манипуляции функцию обратного вызова (org.xml.sax.helpers.DefaultHandler), с помощью которого он держит связь между пользователем и файлом. Помимо этого, SAX парсер имеет возможность в любой момент обратиться к любой части XML документа и манипулировать локальным содержимым, по этой причине SAX быстрее и менее расточительнее, чем DOM парсинг.

Что выбрать?

Требования к программе могут быть разные, поэтому, сразу ответить что лучше нельзя, все исходит из потребностей, но ничто не мешает использовать и SAX и DOM парсер  одновременно в одном и том же проекте.