1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/db-unifier-dbking

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.chinese.md 8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 06:48 a2eb538

DBKing

DBKing — это набор инструментов для работы с базами данных, основанный на Java. Он включает в себя три основных компонента:

  1. Предоставление унифицированного интерфейса операций для различных баз данных, что максимально обеспечивает переносимость между ними.
  2. Создание кода классов BO и слоя DAO с помощью генератора.
  3. Обеспечение эффективных инструментов для импорта и экспорта данных между различными базами данных.

Далее подробно рассмотрим эти три функции.

1. Унифицированный интерфейс операций для разных баз данных

Существует множество подобных инструментов, таких как Hibernate, iBatis, DBUtils от Apache и JdbcTemplate от Spring. Зачем нам нужен ещё один подобный инструмент?

Основная цель этих инструментов — обернуть JDBC, чтобы разработчики могли легче разрабатывать базы данных. В вопросах читаемости кода, производительности и переносимости эти инструменты стараются найти баланс и достичь совершенства.

На основе нашего опыта разработки и анализа мы создали DBKing, который учитывает следующие аспекты:

  • Простота. Все основные интерфейсы находятся в одном классе DBKing. Код не превышает 1000 строк, но предоставляет множество высококачественных методов. Использование DBKing очень просто. DBKing зависит только от класса драйвера JDBC и является лёгким в использовании.
  • Предотвращение утечек соединения с базой данных. Соединение с базой данных и его закрытие по умолчанию обрабатываются DBKing. Некоторые могут считать, что это влияет на производительность, но мы также предоставляем методы ручного управления соединением. По умолчанию используется автоматический способ.
  • Унифицированные типы операций с базой данных. В DBKing все данные базы данных имеют пять типов: String, Number (BigDecimal), Timestamp, Clob (String) и Blob (byte[]). После многократного тестирования мы создаём таблицу сопоставления для всех типов данных базы данных с этими пятью типами. Конечно, некоторые типы данных не поддерживаются, из-за проблем с драйвером JDBC или из-за соображений переносимости. Для некоторых баз данных нет соответствующих типов данных, и такие типы данных не могут быть поддержаны. К счастью, это лишь небольшая часть.
  • Упрощение сложных операций с базой данных. Например, разбиение на страницы базы данных: вам больше не нужно беспокоиться о подсчёте общего количества записей или учитывать различия между разными базами данных. Самое главное — это абсолютная эффективность. Также обрабатываются поля LOB, которые можно напрямую обрабатывать через интерфейсы вставки, удаления, изменения и запроса. При работе с большими LOB можно использовать потоковый метод, чтобы избежать проблемы переполнения памяти. Кроме того, при получении последовательности базы данных мы используем единый алгоритм, который позволяет использовать один и тот же интерфейс для получения последовательности в разных базах данных. Этот метод может использоваться в многопоточной среде и даже в кластерной среде без проблем.
  • Различные способы использования. Можно использовать отдельно или в сочетании с фреймворком Spring IoC. Можно указать источник данных через конфигурацию или жёстко закодировать его. Даже использование сторонних способов получения соединения с базой данных возможно.

В настоящее время инструмент прошёл тестирование на Oracle 11g, Microsoft SQLServer 2012, MySQL 5.6, DB2 9.7/10.1, Sybase 15.7, Infomix 11.5, PostgreSQL 9.3, Derby 10.10, Kingbase 7, DM 7, MariaDB 10.0.

2. Генератор для создания классов BO и DAO

Это генератор кода, совместимый с DBKing, для создания классов BO и уровня DAO на основе DBKing. С такими классами разработка упрощается, а вероятность низкоуровневых ошибок снижается, позволяя разработчикам сосредоточиться на бизнес-логике. Кроме того, можно комбинировать определённые коды для предотвращения проблем с SQL-инъекциями.

3. Эффективные инструменты для импорта и экспорта данных

Импорт и экспорт данных между разнородными базами данных всегда были сложной задачей. Обычные инструменты сложны в настройке, особенно когда дело доходит до больших полей данных, таких как LOB. Наш инструмент не только прост в настройке, но и обладает следующими особенностями:

  • Высокая скорость. Это зависит от среды системы, и только те, кто использует его, знают об этом. Мы сравнивали его с другими инструментами.
  • Поддержка импорта и экспорта полей LOB.
  • Автоматическое обнаружение отношений первичного и внешнего ключей между таблицами базы данных, что гарантирует, что импорт базы данных не будет затронут ограничениями внешнего ключа.
  • Возможность выбора способа обработки повторяющихся данных в зависимости от конфигурации — игнорирование или прекращение.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/db-unifier-dbking.git
git@api.gitlife.ru:oschina-mirror/db-unifier-dbking.git
oschina-mirror
db-unifier-dbking
db-unifier-dbking
master