iBATOR — генератор кода для iBATIS. iBATOR анализирует одну или несколько таблиц базы данных и генерирует артефакты iBATIS, которые можно использовать для доступа к таблицам.
Позже вы можете написать свой собственный код SQL или хранимую процедуру, чтобы удовлетворить ваши требования. iBATOR генерирует следующие артефакты —
- SqlMap XML-файлы
- Классы Java для соответствия первичному ключу и полям таблицы
- Классы DAO, которые используют вышеуказанные объекты (необязательно)
iBATOR может работать как отдельный JAR-файл, или как задача Ant, или как плагин Eclipse. В этом руководстве описан самый простой способ создания файлов конфигурации iBATIS из командной строки.
Скачать iBATOR
Загрузите автономный JAR, если вы используете IDE, отличную от Eclipse. Автономный JAR включает задачу Ant для запуска iBATOR, или вы можете запустить iBATOR из командной строки Java-кода.
-
Вы можете скачать zip-файл с Download iBATOR .
-
Вы можете проверить онлайн документацию — Документация iBATOR .
Вы можете скачать zip-файл с Download iBATOR .
Вы можете проверить онлайн документацию — Документация iBATOR .
Создание файла конфигурации
Чтобы запустить iBATOR, выполните следующие действия:
Шаг 1
Создайте и заполните файл конфигурации ibatorConfig.xml соответствующим образом. Как минимум, вы должны указать —
-
Элемент <jdbcConnection> для указания способа подключения к целевой базе данных.
-
Элемент <javaModelGenerator> для указания целевого пакета и целевого проекта для созданных объектов модели Java.
-
Элемент <sqlMapGenerator> для указания целевого пакета и целевого проекта для созданных файлов карт SQL.
-
Элемент <daoGenerator> для указания целевого пакета и целевого проекта для сгенерированных интерфейсов и классов DAO (вы можете опустить элемент <daoGenerator>, если вы не хотите создавать DAO).
-
По крайней мере, один элемент <table> базы данных
Элемент <jdbcConnection> для указания способа подключения к целевой базе данных.
Элемент <javaModelGenerator> для указания целевого пакета и целевого проекта для созданных объектов модели Java.
Элемент <sqlMapGenerator> для указания целевого пакета и целевого проекта для созданных файлов карт SQL.
Элемент <daoGenerator> для указания целевого пакета и целевого проекта для сгенерированных интерфейсов и классов DAO (вы можете опустить элемент <daoGenerator>, если вы не хотите создавать DAO).
По крайней мере, один элемент <table> базы данных
ПРИМЕЧАНИЕ. — См. Страницу « Ссылка на файл конфигурации XML» для примера файла конфигурации iBATOR.
Шаг 2
Сохраните файл в удобном месте, например, по адресу: \ temp \ ibatorConfig.xml.
Шаг 3
Теперь запустите iBATOR из командной строки следующим образом:
java -jar abator.jar -configfile \temp\abatorConfig.xml -overwrite
Он сообщит, что iBATOR должен запускаться с использованием вашего файла конфигурации. Он также скажет iBATOR перезаписать любые существующие файлы Java с тем же именем. Если вы хотите сохранить любые существующие файлы Java, пропустите параметр -overwrite .
В случае конфликта iBATOR сохраняет вновь созданный файл с уникальным именем.
После запуска iBATOR вам необходимо создать или изменить стандартные конфигурационные файлы iBATIS, чтобы использовать только что сгенерированный код. Это объясняется в следующем разделе.
Задачи после запуска iBATOR
После запуска iBATOR вам необходимо создать или изменить другие артефакты конфигурации iBATIS. Основные задачи заключаются в следующем —
- Создайте или измените файл SqlMapConfig.xml.
- Создайте или измените файл dao.xml (только если вы используете iBATIS DAO Framework).
Каждая задача подробно описана ниже —
Обновление файла SqlMapConfig.xml
iBATIS использует файл XML, обычно называемый SqlMapConfig.xml, для указания информации для соединения с базой данных, схемы управления транзакциями и файлов XML карты SQL, которые используются в сеансе iBATIS.
iBATOR не может создать этот файл для вас, потому что он ничего не знает о вашей среде выполнения. Однако некоторые элементы в этом файле имеют непосредственное отношение к элементам, сгенерированным iBATOR.
Конкретные потребности iBATOR в файле конфигурации следующие:
- Пространства имен операторов должны быть включены.
- Сгенерированные iBATOR файлы XML карты SQL должны быть перечислены.
Например, предположим, что iBATOR сгенерировал XML-файл карты SQL с именем MyTable_SqlMap.xml и что этот файл был помещен в пакет test.xml вашего проекта. Файл SqlMapConfig.xml должен содержать следующие записи:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!-- Statement namespaces are required for Abator --> <settings useStatementNamespaces="true" /> <!-- Setup the transaction manager and data source that are appropriate for your environment --> <transactionManager type="..."> <dataSource type="..."> </dataSource> </transactionManager> <!-- SQL Map XML files should be listed here --> <sqlMap resource="test/xml/MyTable_SqlMap.xml" /> </sqlMapConfig>
Если существует более одного XML-файла карты SQL (как это обычно бывает), файлы могут быть перечислены в любом порядке с повторяющимися элементами <sqlMap> после элемента <actionManager>.
Обновление файла dao.xml
Инфраструктура iBATIS DAO настраивается с помощью XML-файла, обычно называемого dao.xml.
Инфраструктура iBATIS DAO использует этот файл для управления информацией о подключении к базе данных для DAO, а также для перечисления классов реализации DAO и интерфейсов DAO.
В этом файле вы должны указать путь к файлу SqlMapConfig.xml и все сгенерированные iBATOR интерфейсы DAO и классы реализации.
Например, предположим, что iBATOR сгенерировал интерфейс DAO с именем MyTableDAO и класс реализации с именем MyTableDAOImpl, и что файлы были помещены в пакет test.dao вашего проекта.
Файл dao.xml должен иметь эти записи —
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd"> <daoConfig> <context> <transactionManager type="SQLMAP"> <property name="SqlMapConfigResource" value="test/SqlMapConfig.xml"/> </transactionManager> <!-- DAO interfaces and implementations should be listed here --> <dao interface="test.dao.MyTableDAO" implementation="test.dao.MyTableDAOImpl" /> </context> </daoConfig>
ПРИМЕЧАНИЕ. — Этот шаг требуется только в том случае, если вы сгенерировали DAO для структуры iBATIS DAO.