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

OSCHINA-MIRROR/springbootPlus-myJdbcTemplate

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Проектный контекст:

В проектах телекоммуникационной отрасли часто используются базы данных Oracle, и оптимизация запросов SQL основана на плане выполнения Oracle.

Hibernate сталкивается с трудностями в эффективной оптимизации SQL при работе с большими табличными связями, что требует наличия настраиваемого инструмента класса ibatis, который можно быстро развернуть.

Почему не ibatis?

  1. Ibatis ориентирован на ORM и операции JDBC, пытаясь объединить их, но на практике это не даёт хороших результатов. Конфигурация ORM сложна, а JPA является будущим основным направлением.

  2. Дизайн расширенного API для постраничного поиска не очень хорош, и его реализация может быть сложной. В этом отношении интерфейс org.hibernate.dialect.Dialect разработан лучше.

  3. После изменения SQL в Ibatis невозможно реализовать горячее развёртывание конфигурации SQL.

Позиционирование MyJdbcTemplate:

  1. Расширение JdbcTemplate для настройки SQL.

  2. Улучшенная поддержка физического постраничного SQL для различных баз данных, таких как MySQLDialect и OracleDialect.

  3. Реализация онлайн-развёртывания конфигурации SQL.

  4. Упрощение конфигурации кэширования: результаты SQL-запросов кэшируются на основе SQLKEY.

  5. Использование MAP и LIST в качестве типов данных возвращаемых результатов, обеспечивая хорошую конвертацию в формат JSON для взаимодействия с пользовательским интерфейсом (UI).

  6. Частично реализованы API запросов (ORM-функциональность может быть реализована через JPA + Hibernate).

  7. Добавлены функции для однотабличных операций вставки, обновления и удаления:

  • save (String beanName, Map<String, Object> param) — где beanName соответствует имени таблицы, например custChannelPlan, а param — именам полей, например {planId :'1' , contact :'111'}
  • updateTable (String beanName, String prefix, Map<String, Object> param);
  • delete (String beanName, String prefix, Map<String, Object> param).

Пример: custChannelPlan ---> cust_Channel_Plan таблица с полями: (plan_Id varchar2(10), contact varchar2(10)).

Выполняется SQL: INSERT INTO cust_Channel_Plan (plan_Id , contact ) VALUES ( '1' , '111');

Примеры вызовов JavaScript (JS):

POST-запрос для новой вставки: $.ajax({ url: '/sqlservice/custChannelPlan?planId=1&contact=1111', type: 'post' });

GET-запрос для запроса SELECT: $.ajax({ url: '/sqlservice/custChannelPlan?planId=1&contact=1111', type: 'get' });

PUT-запрос для обновления UPDATE: $.ajax({ url: '/sqlservice/custChannelPlan?planId=1&contact=1111', type: 'put' });

DELETE-запрос для удаления DELETE: $.ajax({ url: '/sqlservice/custChannelPlan?planId=1&contact=1111', type: 'delete' });

Подробные примеры кода см. в MyJdbcTest:

  1. Постраничный запрос.

  2. Горячее развёртывание кода.

  3. Стратегия кэширования.

Недостаток: отсутствие функций ORM.

Комментарии ( 0 )

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

Введение

На основе расширения spring JdbcTemplate, в сочетании с шаблонами velocity реализуется настраиваемость, кэшируемость и горячее развёртывание SQL-операторов. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/springbootPlus-myJdbcTemplate.git
git@api.gitlife.ru:oschina-mirror/springbootPlus-myJdbcTemplate.git
oschina-mirror
springbootPlus-myJdbcTemplate
springbootPlus-myJdbcTemplate
master