Зачем мне нужен мибатис
Mybatis - это рамка Java ORM, и ORM появился, чтобы упростить разработку. Первоначальный метод разработки заключался в том, что бизнес -логика и логика запросов базы данных были разделены, либо написание операторов SQL в программе, либо вызов хранимых процедур SQL. Это приводит к необходимости переключения между языковой логикой и логикой SQL, что приводит к неэффективному развитию. Поэтому появилась серия фреймворков ORM. Структура ORM соответствует таблицам баз данных и объектам Java. При использовании базы данных вам нужно только управлять объектами Java объекта, таких как настройка нескольких и условий, и только настройка нескольких атрибутов.
Зачем мне нужен генератор mybatis
Хотя существует структура Mybatis, изучение Mybatis также требует затрат на обучение, особенно настройка необходимых файлов XML, что является довольно громоздким, а в конфигурации возникают ошибки, которые нелегко найти. Когда существуют необъяснимые ошибки или большое количество объектов, которые необходимо генерировать, часто возникает ощущение, что неохотно жить и блуждать в уме. Поэтому генератор Mybatis появился.
Требуется только простая конфигурация для завершения генерации большого количества таблиц для объектов Mybatis Java. Это не только быстро, но и не имеет ошибок, что позволяет разработчикам по -настоящему сосредоточиться на разработке бизнес -логики.
Официальная функция генератора Mybatis относительно проста, и она не была реализована для слегка сложных функций страниц, функций пакетного вставки и т. Д., Которые неизбежно используются в разработке, но она имеет поддерживаемые зрелые функции подключаемых модулей.
Я поместил инструмент генерации Mybatis, который мы обычно используем для GitHub, который имеет интегрированную лицензию на странице, вставку партии и сериализацию. Вы можете проверить это здесь и уже представили, как его использовать.
структура файла генератора Mybatis
Сгенерированный файл содержит три категории:
1. Модель объекта файла, таблица базы данных генерирует модельную сущность;
2. Файл ModeLexample, этот файл и файл объекта находятся в том же каталоге и в основном используются для запроса условной конструкции;
3. Методы работы интерфейса Mapper и методы работы данных определены в этом интерфейсе;
4. Mapper XML -файл конфигурации;
Настройте путь генерации файлов в файле конфигурации и установите соответствующее имя пакета для создания соответствующей структуры и файлов каталогов. Я установил сгенерированный каталог в каталог тестирования, имя пакета объектов - com.fengzheng.dao.entity, имя пакета интерфейса - com.fengzheng.dao.mapper, а затем созданная структура каталога файлов показана на рисунке ниже:
Как написать код
Все вызовы методов поступают из сгенерированного файла интерфейса. Весной MVC необходимо объявить его на вызывающего абонента. Используя интерфейс BlackList в качестве примера, сгенерированный файл интерфейса - BlackListipMapper, поэтому вызывающему вызов должен объявить этот интерфейс следующим образом:
@AutowiredPrivate BlackListipMapper BlackListipMapper;
Запрос базы данных
Запрос является наиболее часто используемой функцией. Следующий метод должен запросить записи, чьи IP являются определенным значением. Если вы знаете основной ключ, вы можете использовать метод SelectByPrimaryKey.
public BlackListip get (String ip) {BlackListiPexample example = new BlackListipExample (); example.createCriteria (). Andipequalto (ip); List <BlackListip> BlackListiplist = BlackListmapper.selectbyExample (Пример); if (blackListip! = null && BlackLize.Size ()> 0) {return natullip. Метод вызова метода похож. Для получения подробной информации см. Введение соответствующих документов.
Сортировка
public BlackListip get (String ip) {BlackListipExample avest = new BlackListipExample (); example.setOrderByclause ("create_time desc"); // Сортировка по времени создания пример. CReateCriteria (). Andipequalto (ip); List <BlackListip> BlackListiplist = BlackListmapper.selectbyExample (Пример); if (blackListiplist! = Null && blackListiplist.size ()> 0) {return BlackListist.get (0);Страница
Public PageInfo List (учетная запись учетной записи, pageInfo pageInfo, String Starttime, String endTime) {account.setisDel (sysparamDetailConstant.is_del_false); Accountexample Пример = getCondition (учетная запись, starttime, endtime); if (null! = pageinfo && null! {example.setLimitClausEStart (pageInfo.getPageStart ()); Пример.setLimitClaUseCount (pageInfo.getPageCount ());} example.setOrderByclaus AccountMapper.countbyExample (пример); pageInfo.setList (list); pageInfo.setTotalCount (totalCount); return pageInfo;} Реализовать условия запроса, такие как a = x и (b = xx или b = xxx)
Хотя это удобно автоматически генерировать код, все имеет свои преимущества и недостатки. Генератор Mybatis не может генерировать функцию соединения таблицы, поэтому его можно добавить только вручную. Условное сплайсинг, такой как a = x и (b = xx или b = xxx), реализуется следующим образом.
AccountExample Accountexample = new AccountExample (); AccountExample.Criteria Criteria = AccountExample.createCriteria (). AndTypeequalto ("4"); Criteria.AddCriterion (string.format ("(id =%d или id =%d)", 34,35)); Accountmapper.selectbyExample (Accountexample); return accounts; Тем не менее, вам необходимо изменить небольшой код, изменить 524 -ю строку примера генератора в рамках пакета org.mybatis.generator.codegen.mybatis3.model, метод изменения. Setvisability (javavisability.protected); to method.setVissibility (javavisability.public);
Изменения были синхронизированы с GitHub.
Выше приведено код и использование генератора Mybatis, представленного вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!