Разница между Mybatis и Ibatis:
1. Mybatis реализует привязку интерфейса, что делает его более удобным для использования <br /> в ibatis2.x, нам необходимо указать, какой файл отображения XML соответствует в классе реализации DAO.
Mybatis реализует привязку интерфейса DAO и файла отображения XML и автоматически генерирует конкретную реализацию интерфейса для нас, что делает его проще в использовании и более удобной.
Можно сказать, что это самое важное улучшение Mybatis.
Уведомление:
Хотя Mybatis поддерживает использование конфигурации аннотации непосредственно в интерфейсе для упрощения конфигурации,
Тем не менее, настоятельно рекомендуется по -прежнему использовать метод конфигурации XML. В конце концов, метод конфигурации аннотации ограничен, а код слишком инвазивный. Только с помощью метода конфигурации XML может быть отражено преимущества mybatis
2. Улучшение картирования отношений объектов является более эффективным <br /> Я считаю, что многие друзья, которые используют ibatis2.x, не осознают картирование отношений между объектами через файл отображения XML Ibatis. На самом деле, нет необходимости делать это, потому что ibatis2.x использует «запрос на шею», чтобы реализовать взаимосвязь между объектами посредством прямой сборки операторов запроса, и его эффект такой же, как инкапсуляция в DAO или службе.
Тем не менее, этот метод имеет «n+1 Проблема запроса».
Таким образом, проблема запроса n+1 может быть вызвана таким:
? Вы выполняете отдельный оператор SQL, чтобы получить список результатов (то есть +1).
? Для каждой возвратной записи вы выполняете оператор запроса, чтобы загрузить детали для каждой загрузки (то есть n).
Эта проблема может привести к выполнению сотен операторов SQL. Обычно это не ожидается.
В Mybatis, в дополнение к совместимости с методом «запроса на шейки» в ibatis2.x, он также обеспечивает метод прямого результата «шеи», который эквивалентен автоматическому инкапсулированию запроса DTO -объекта в требуемый объект через SQL предложения.
Для конкретных методов реализации, пожалуйста, обратитесь к официальному руководству пользователя Mybatis и не описывайте их здесь.
Однако на самом деле преимущества, принесенные этим улучшением, очень ограничены. Поскольку этот метод не работает при использовании пейджинга, или набор результатов вложенных объектов не разрешается подправлять. Это было явно ограничено в рамках Mybatis (34 строки в org.apache.ibatis.executor.resultset.nestesresultsethandler), и есть много случаев, когда в реальных проектах требуется пейджинг ...
Если вы тщательно думаете об этом, отображение от одного ко многим не может быть подключено через файлы конфигурации, потому что количество записей, запрашиваемых в настоящее время, не равняется размеру фактического объекта возврата, но я не понимаю, почему отображение одного на одно не разрешено. Возможно, это потому, что один к одному-это особый случай от одного ко многим, и при разработке структуры он не считается или трудно справиться с этим особым случаем.
3. Mybatis использует мощные выражения на основе Ognl для устранения других элементов <br /> людей, которые знакомы со Struts2, не должны быть незнакомы с выражениями ognl.
Mybatis использует экспрессию Ognl для упрощения сложности файлов конфигурации и проще использовать.
Может быть, это более обеспокоено
Mybatis реализует привязку интерфейса, что делает его более удобным в использовании.
Ibatis/Mybatis 3 предоставляет новую функцию: аннотация.