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

OSCHINA-MIRROR/ma_hao_mh-lazy-cat

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

Сейчча Параметер Иmpl<> (Усер. класс). сэт сейарч скоуп (сейарч скоуп). сэт игнер (игнер). сэт кондишн (кондишн));

Деловой слой предоставляет универсальный интерфейс BaseService<Object>


orm-api maven зависимости

<зависимость>   
    <группаИд>кул. лази-кат</группаИд>  
    <артефактИд>orm-api-spring-boot-стартер</артефактИд>  
    <версия>2.4.0</версия>  
</зависимость>  

Проект orm-api предоставляет функционал автоматического сопоставления методов API. Он зависит от orm-core.
Для API-сопоставления необходим корневой вход, по умолчанию это lazy-cat. Вы можете настроить атрибут apiPath в ApiConfig для изменения.
Пример:

// api запрос пути = api корневой путь + '/' + namespace + '/' + path
@ApiPojo(namespace = "user", entry = {
        @Entry(path = "selectPage", api = QueryPageApiEntry.class, methods = {HttpMethod.POST}),
        @Entry(path = "select", api = QueryApiEntry.class),
        @Entry(path = "save", api = SaveApiEntry.class),
        @Entry(path = "saveForce", api = SaveCascadeApiEntry.class),
        @Entry(path = "delete", api = RemoveApiEntry.class, методы = HttpMethod.POST),
        @Entry(path = "delete", api = RemoveApiEntry.class, методы = {HttpMethod.DELETE, HttpMethod.GET}),
        @Entry(path = "deleteForce", api = RemoveCascadeApiEntry.class)
})
@Pojo(table = @Table(schema = "app_core", tableName = "acc_user"))
public class User {
}

Теперь запрос http://{server:port}/lazy-cat/user/select вызовет интерфейс QueryApiEntry при условии, что этот класс управляется сканированием lazy-cat-orm-core.
Вы можете использовать аннотацию @ApiQueryFilter для маркировки условий запроса:

@Column(sort = 10)
// условие запроса
@ApiQueryFilter(In.class)
public String getName() {
    return name;
}
@Column(validator = @Validator(type = CommonValidator.class, notNull = true, parameter = {@Parameter(name = CommonValidator.VALIDATE_INFO_KEY, value = ValidateConstant.VALIDATE_HUMAN_AGE_KEY)}), sort = 20)
// условие запроса
@ApiQueryFilter(Equals.class)
public Integer getAge() {
    return age;
}

HTTP-запрос параметров (QueryInfo.class):

{
    "pageSize": 50000,
    "startIndex": 0,
    "params": {
        "name": [
            "金克拉",
            "艾莉丝"
        ]
    },
    "orderFields": [
        "createDate"
    ],
    "ignoreFields": [],
    "asc": true
}

orm-api предлагает семь интерфейсов:

Интерфейс Параметры Сопоставляемый метод API
QueryApiEntry QueryInfo.class commonApiService.select(queryInfo)
QueryPageApiEntry QueryInfo.class commonApiService.selectPage(queryInfo)
RemoveApiEntry List<Object> baseService.deleteByInfer(dataList, false)
RemoveCascadeApiEntry List<Object> baseService.deleteByInfer(dataList, true)
RemoveByIdsApiEntry List<String> baseService.deleteByIdsAndInfer(pojoType, ids)
SaveApiEntry List<Object> baseService.save(dataList, false)
SaveCascadeApiEntry List<Object> baseService.save(dataList, true)

Также можно расширить [пользовательские API](#расширение пользовательских API) и настроить параметры запроса, ответы и логику выполнения.
Помимо использования аннотаций для настройки путей запросов, orm-api также предоставляет способ настройки параметров API через конфигурационные файлы.

cool:
  lazy-cat:
    servlet:
      # настройка корневого пути API
      api-path: api
      # объявление использования конфигурации файла
      api-pojo-subject-registry-instance: cool.lazy.cat.orm.api.manager.provider.ConfigFileApiPojoSubjectProvider
      # конфигурация API
      api-entries:
        - pojo-type: com.jason.test.pojo.mysql.User
          namespace: user
          properties:
            - path: select
              api: cool.lazy.cat.orm.api.web.entrust.method.QueryApiEntry
              allow-methods: POST,GET
          query-filters:
            # полевое условие запроса
            - field: name
              condition: cool.lazy.cat.orm.core.jdbc.sql.condition.type.In
            # полевое условие запроса
            - field: age
              condition: cool.lazy.cat.orm.core.jdbc.sql.condition.type.Equals
        - pojo-type: com.jason.test.pojo.mysql.Office
          namespace: officeTest
          properties:
            - path: selectPage
              api: cool.lazy.cat.orm.api.web.entrust.method.QueryApiEntry
              allow-methods: POST,GET
          query-filters:
            # полевое условие запроса
            - field: name
              condition: cool.lazy.cat.orm.core.jdbc.sql.condition.type.In

orm-core

JdbcConfig конфигурации: cool.lazy.cat.orm.core.jdbc.JdbcConfig
Сначала необходимо понять функции и основные принципы работы этих аннотаций:
cool.lazy.cat.orm.annotation.*

Правильный способ использования

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

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

Введение

Полностью автоматическое ORM-отображение и автоматическое отображение API. Развернуть Свернуть
Java и 3 других языков
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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