Я не делал проекта в последнее время, поэтому я реорганизовал наиболее полный файл конфигурации для наиболее полного генератора Mybatis (MBG для краткости), с подробными объяснениями, и мне больше не нужно смотреть на руководство пользователя EN;
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype GeneratorConfigurationPublic "-// mybatis.org//dtd mybatis Generator Configuration 1.0 // en" "http://mybatis.org/dtd/mybatis-generator-config_1_0. Генератор-> <GeneratorConfiguration> <!-Его можно использовать для загрузки элементов конфигурации или файлов конфигурации. Во всем файле конфигурации вы можете использовать $ {PropertyKey} для ссылки на ресурс элемента конфигурации: Настройте адрес загрузки ресурса, использование ресурса и MBG, начинающегося с класса, например, com/myproject/generatorConfig.properties url: настройка rource geology, используйте url, например, file: ///myfoldercercercigercigretcir Обратите внимание, что можно выбрать только одно из двух свойств; Кроме того, если используется Mybatis-Generator-Maven-Plugin, то свойства, определенные в pom.xml, можно использовать непосредственно в GeneratorConfig.xml <Properties resource = "" url = ""/>-> <!-Когда MBG работает, атрибут местоположения пакета зависимости, который необходимо загрузить, указывает на полную дорожку для нагрузки. Files/ibm/sqllib/java/db2java.zip "/>-> <!-Контекст: идентификатор среды для генерации группы объектов: Требуется, идентификатор контекста, используемый для приглашения при генерации ошибки по умолчанию. 2, плоский: все содержание (первичный ключ, Blob) и т. Д. Сгенерируется в одном объекте; 3, иерархический: первичный ключ генерирует объект xxkey (класс ключей), Blob и т. Д. генерирует объект отдельно, а другие простые атрибуты находятся в одном объекте (класс записи) TargetRuntime: 1, MyBatis3: значение по умолчанию генерирует контент на основе mybatis3.x и вышеупомянутых версий, включая xxxbysample; 2, mybatis3simple: аналогично mybatis3, но не генерирует xxxbysample; InvestucedColumnImpl: полностью квалифицированное имя класса, используемое для расширения mbg-> <context id = "mysql" defaultmodeltype = "иерархический" targetruntime = "mybatis3simple"> <!-автоматически идентифицировать ключевые слова базы данных, по умолчанию, если установлено в соответствии с основными словами в списке слов в SQLRES, по умолчанию; Как правило, сохраняйте значение по умолчанию, ключевые слова базы данных о базе данных (ключевые слова Java) используйте ColumnoverRide, чтобы переопределить-> <Название свойства = "AutoDelimitKeyWords" value = "false"/> <!-кодирование сгенерированных файлов Java-> <properation name = "javafileencoding" value = "utf-8"/> <! value = "org.mybatis.generator.api.dom.defaultjavaformatter"/> <!-Format xml-код-> <name = "xmlformatter" value = "org.mybatis.generator.api.dom.defaultxmlformatter"/> <!-starkdelimater и endingdelimiter: spectify sytborsate intemberse. Например, Oracle - это двойные цитаты, а MySQL по умолчанию - на «обратные»; -> <name = name = "startDelimiter" value = "` "/> <name =" endDeLimiter "value =" `"/> <!-Вы должны иметь ее, используйте эту конфигурацию, чтобы связать базу данных @Todo: можно ли это расширенно-> <JDBCConnection DriverClass = "com.mysql.jdbc.driver" connectionUrl userId = "root" password = "admin"> <!-Здесь вы можете установить свойства свойства, и каждое свойство свойства установлено на настроенный драйвер-> </jdbcconnection> <!-Процессор типа Java используется для обработки типов в DB к типам в Java, а JavatyperesolverDefaultiMpl используется Default; Обратите внимание, что по умолчанию вы попытаетесь использовать целое число, длинное, короткое и т. Д., Чтобы соответствовать десятичным и числовым типам данных; -> <javatyperesolver type = "org.mybatis.generator.internal.types.javatyperesolverdefaultiMpl"> <!-true: используйте BigDecimal для десятичных и численных типов данных false: default, scale> 0; длина> 18: bigdecimal; Scale = 0; Scale = 0; длина [5,9]: используйте целое число; Scale = 0; длина <5: используйте короткие; -> <свойство name = "forcebigdecimals" value = "false"/> </javatyperesolver> <!-Создатель модели Java является необходимым элементом: 1. Класс ключей (см. Контекст DefaultModelType); 2. Java Class; 3. Запрос класса TargetPackage: пакет, который будет размещен в сгенерированном классе, реальная упаковка управляется атрибутом inablesBpackages; TargetProject: целевой проект, укажите существующий каталог, и сгенерированный контент будет размещен в указанном каталоге. Если каталог не существует, MBG не будет автоматически создавать каталог-> <javamodelgenerator targetpackage = "com._520it.mybatis.domain" targetProject = "src/main/java"> <!-для mybatis3/mybatis3simple Автоматически создает конструкцию для каждого покоренного класса, который содержит все пояс; вместо использования сетевых; -> <name = name = "constructorBased" value = "false"/> <!-На основе TargetPackage слой пакета генерируется в соответствии со схемой базы данных. Окончательный сгенерированный класс находится в этом пакете, а по умолчанию неверно-> <name = "enablyBpackages" value = "true"/> <!-для mybatis3/mybatis3simple создает неизменную класс? Если TRUE, MBG создаст класс без метода сеттера и заменит его классом, аналогичным ConstructorBas-> <name = "Immutable" value = "false"/> <!-Установите корневой объект. Если этот корневой объект установлен, сгенерированный класс или Clostclass наследует этот класс; Эта опция может быть переопределена в свойстве RootClass таблицы Примечание. Если есть те же атрибуты, что и класс root в классе ключа или класс записи, MBG не будет регенерировать эти атрибуты, включая: 1. Имя атрибута одинаково, тот же тип и тот же метод Getter/Setter; -> <name = "rootclass" value = "com._520it.mybatis.domain.basedomain"/> <!-Установите, вызовать ли метод trim () в поле типа строки в методе Getter-> <name = "trimstrings" value = "true"/> </javamodelgenerator> <!-xml file generator для генерации. Обратите внимание, что после mybatis3 мы можем использовать интерфейс Mapper.xml File + Mapper (или не использовать интерфейс Mapper) или использовать только интерфейс Mapper + аннотация. Следовательно, если конфигурация JavaclientGenerator должна генерировать XML, этот элемент должен быть настроен с помощью TargetPackage/TargetProject: то же самое, что JavamodelGenerator-> <SQLMAPGenerator TargetPackage = "com._520it.mybatis.mapper" TargetProject = "Src/Main/Main/ресурсы"> <! схема базы данных. Окончательный сгенерированный класс помещается в этот пакет, а по умолчанию есть false-> <name = "enablyBpackages" value = "true"/> </sqlmapgenerator> <!-Для Mybatis он должен генерировать интерфейс Mapper. Обратите внимание, что если элемент не настроен, интерфейс Mapper не будет генерироваться по умолчанию TargetPackage/TargetProject: так же, как JavamodelgenerAtortype: выберите, как генерировать график интерфейса Mapper (под mybatis3/mybatis3simple): 1. Annotatedmapper: он будет генерировать интерфейс Mapper, используя интерфейс Mapper + Annotatation (retratation (retratation retratation (retratation retratation (retratation Соответствующий XML не будет генерироваться; 2. MixedMapper: Использование гибридной конфигурации, будет сгенерирован интерфейс Mapper, и соответствующая аннотация будет добавлена соответствующим образом, но XML будет генерироваться в XML; 3. Xmlmapper: интерфейс Mapper будет сгенерирован, и интерфейс будет полностью зависеть от XML; Обратите внимание, что если контекст является mybatis3simple: только аннотированная мапотка и xmlmapper-> <javaclientgenerator targetpackage = "com._520it.mybatis.mapper" type = "AnnotatedMapper" TargetProject = "src/main/java"> <! Окончательный сгенерированный класс помещается в этот пакет, который по умолчанию по умолчанию false-> <name = "enablesBpackages" value = "true"/> <!-Вы можете добавить родительский интерфейс ко всем сгенерированным интерфейсам, но MBG отвечает только за поколение и не несет ответственности за проверку Property name = "root-value =" "/>-> </JavaClenerator> <selective value ="/>-> </javaclenerator>. Там может быть один или несколько столов. Там должна быть таблица, выбранная элементом таблицы. Будут сгенерированы следующие файлы: 1. Файл карты SQL 2. Сгенерировать класс первичного ключа; 3. классы с другими полями, кроме Blob и первичного ключа; 4. классы, содержащие капля; 5. Условный класс для пользователей для генерации динамических запросов (SelectByexample, DeleteByExample), необязательно; 6. Интерфейс Mapper (необязательно) TableName (необходимо): имя таблицы, которое будет сгенерирован,; Примечание: чувствительные к случаю проблемы. При нормальных обстоятельствах MBG автоматически идентифицирует чувствительность случая идентификатора базы данных. В целом, MBG запросит таблицу данных, основанную на схеме, каталоге или таблице, и следовать следующему процессу: 1. Если в схеме, каталоге или табличке есть места, то набор форматов точно используется для запроса; 2. В противном случае, если идентификатор базы данных заглавен, то MBG автоматически превратит имя таблицы в капитал, а затем поиск; 3. В противном случае, если идентификатор базы данных заглавен, то MBG автоматически превратит имя таблицы в капитал, а затем поиск; Поиск; 4. В противном случае используйте указанный формат корпуса для запроса; Кроме того, если объект базы данных используется при создании таблицы, имя таблицы будет создано с использованием данного случая, даже если используется идентификатор базы данных, в данном случае, пожалуйста, установите DeLimitidentifiers = "true" для сохранения формата корпуса; Необязательно: 1. Схема: схема базы данных; 2. Каталог: каталог базы данных; 3. Псевдоним: подселение, установленное для таблицы данных. Если будет установлен псевдоним, то все выбирают, сгенерированные в операторах SQL, имя столбца станет: alias_actualcolumnname4, domainobjectName: имя сгенерированного класса домена. Если не установлено, используйте имя таблицы в качестве имени класса домена; Это может быть установлено на omepck.domainname, тогда класс DomainName будет автоматически размещен в пакете SomePCK; 5, enableInsert (по умолчанию TRUE): укажите, генерировать ли оператор INSERT; 6, enselectbyprimarykey (true по умолчанию): укажите, следует ли генерировать оператор для запроса объекта в соответствии с первичным ключом (то есть Getbyid или get); 7. enableselectbyexample (по умолчанию True): mybatis3simple является ложным, указывая, генерировать ли динамические операторы запроса; 8. enableUpdateByprimarykey (по умолчанию True): указание, следует ли генерировать оператор, который изменяет объект в соответствии с первичным ключом (т.е. обновление); 9. enableteletebyprimarykey (по умолчанию True): указание, генерировать ли оператор, который удаляет объект в соответствии с первичным ключом (то есть удалить); 10. Enabledel EteByExample (true по умолчанию): mybatis3simple является ложным, укажите, следует ли генерировать динамические операторы удаления; 11, EnableCountByExample (по умолчанию true): mybatis3simple является ложным, укажите, генерировать ли динамическое общее количество слов (используется для общего количества слов для страниц); 12, enableUpdateByexample (по умолчанию true): mybatis3simple является false, укажите, следует ли генерировать динамические операции модификации (только изменять атрибуты, которые не являются пустыми в объекте); 13, ModelTyP E: см. DefaultModelType контекстного элемента, который эквивалентен перезаписи; 14, DeLimitidentifiers: см. Объяснение имени TableName, обратите внимание, что DeLimitIdizers по умолчанию - это двойные цитаты. Если в базе данных, подобной MySQL, используется `(Backquotes, то вам также необходимо установить свойства контекста и свойства EndDelimiter) 15, DeLimitallColumns: установить, вызваны ли все сгенерированные имена столбцов в SQL. DeLimitidentifiers относятся к собственности контекста. Обратите внимание, что многие параметры в таблице являются переписыванием свойств по умолчанию Javamodelgenerator, контекста и других элементов; -> <Таблица TableName = "userInfo"> <!-Справочник по конструктору, основанному на основании JavamodelGenerator-> <name = "constructorbased" value = "false"/> <!-По умолчанию false. Если установлено в True, имя таблицы не будет добавлено с помощью каталога или схемы в сгенерированном SQL; -> <Property name = "IgnoreQualifiersatruntime" value = "false"/> <!-Справочный javamodelgenerator. Необвисываемое свойство неподвижного свойства-> <name = "Immutable" value = "false"/> <!-Указывает ли создание только класса домена. Если установить True, создается только класс доменов. Если SQLMapGenerator также настроен, то в файле Mapper XML сгенерирует только элемент ResultMap-> <name = "modelonly" value = "false"/> <!-см. value = ""/>-> <!-См. Свойство rootInterface of JavAclientGenerator <name = "rootInterface" value = "/>-> <!-если установлен RuntimeCatalog, то в сгенерированном SQL указанный каталог используется вместо каталога на элементе таблицы. <name = "runtimecatalog" value = ""/>-> <!-Если установлен Runtimeschema, то в сгенерированном SQL используется указанная схема вместо схемы на элементе таблицы. <name = "runtimesschema" value = ""/>-> <!-если установлено runtimetablename, то в сгенерированном SQL используется указанное табличное имя вместо элемента таблицы. <name = "runtimetablename" value = ""/>-> <!-Обратите внимание, что это свойство полезно только для mybatis3simple; Если выбранное время выполнения mybatis3simple, будет создан метод Selectall. Если указан SelectAllOrderByClause, указанное условие порядка будет добавлено в SQL; -> <Свойство name = "selectallorderbyclause" value = "Age Desc, username asc"/> <!-Если установлено в True, сгенерированный модельный класс будет напрямую использовать саму название столбца и больше не будет использовать методы именования верблюдов, такие как born_date, а сгенерированное свойство имя-это born_date, не Burnate-> <Property Name = "useActualcolumnmolumbolumnme" vally vally vally "! Метод генерации первичного ключа. Если этот элемент будет установлен, MBG будет генерировать правильный элемент <selectKey> в генерируемом элементе <SINSERT>. Элемент может быть выбран столбец: имя столбца первичной ключа; SQLStatement: сгенерированный оператор SelectKey имеет следующие параметры: Cloudscape: SQL, эквивалентный SelectKey: Values ementity_val_local () () DB2: SQL, эквивалентный SelectKey: значения Identity_val_local () () DB2_MF: SQL Equivalte to SelectKeke is: select_list_li_li_li_li_li_li_list_list_list_lishal. Sysibm.sysdummy1derby: SQL, эквивалентный SelectKey: Values ementity_val_local () hsqldb: SQL, эквивалентный SelectKey: Call Identity () Informix: SQL эквивалент SelectKey: Select Dbinfo ('sqlca.sqlerrd1') из Selectables whe Systables whe Systables whe Systables whid qupe qupe qupe qupe qupe qupe qudev quives avvives: IS: SELECT LAST_INSERT_ID () SQLSERVER: SQL, эквивалентный SELECTKEY: SELECT SCOPE_IDENITY () SYBASE: SQL, эквивалентный SELECTKEY: SELECT @@ IdentityJDBC: он эквивалентен добавлению CONSEREDEDKEYS = "TRAIN" и KeyProperty Attributes на генерированном элементе INSERT <GeneratedKey = "" True "атрибуты keeproperty на генерированном элементе INSERT SQLStatement = ""/>-> <!-Этот элемент переименован в имя столбца перед вычислением имени атрибута объекта на основе имени столбца в таблице. Он очень подходит для того, когда столбцы в таблице имеют общие строки префикса, такие как имя столбца: cust_id, cust_name, cust_email, cust_address и т. Д.; Затем вы можете установить SearchString на «^cust_» и заменить его пустым пространством. Тогда имя атрибута в сгенерированном объекте клиента - это не Custid, Cu Stname и т. Д., Но заменяется идентификатором, именем, электронной почтой, а затем становится атрибутами: ID, имя, электронная почта; Обратите внимание, что MBG использует java.util.regex.matcher.replaceall для замены SearchString и замены. Если используется элемент Columnoverride, этот атрибут недействителен; <columnAmingRule searchString = "" Replacestring = ""/>-> <!-используется для изменения свойств столбца в таблице. MBG будет использовать модифицированный столбец для генерации свойств домена; Столбец: имя столбца для сброса; Обратите внимание, что в элементе таблицы может быть несколько элементов Columnoverride ~-> <colunoverride column = "username"> <!-Используйте атрибут свойства, чтобы указать имя атрибута для генерации столбца-> <name = "Property" value = "username"/> <!-Javatype используется для определения типа атрибута сгенерированного домена, и используется полностью квалифицированное имя типа. <name = "javatype" value = ""/>-> <!-Jdbctype используется для указания типа JDBC столбца <name = "jdbctype" value = ""/>-> <!-TypeHandler используется для указания тип-индлера, используемого в этом столбце. Если вы хотите указать, обратите внимание, что в Mybatis тип-мандлер в mybatis-config.xml не будет сгенерирован в mybatis-config.xml, только описание параметра следующего: где id = #{id, jdbctype = bigint, typehhandler = com._520t.mybatis.mytypehandler} namy-namelishtyrehly-namehlyshetry. value = ""/>-> <!-См. Конфигурацию DeLimitallColumns элемента таблицы, по умолчанию есть false <name = "delimitedcolumnname" value = ""/>-> </colunoverride> <!-IgnoreColumn Устанавливает столбец, который MGB игнорирует. Если устанавливается повторный столб, то в сгенерированном домене и сгенерированном SQL столбец: указывает имя столбца, которое будет игнорироваться; DelimitedColumnName: см. Конфигурацию DeLimitAllColumns элемента таблицы, по умолчанию является false. Обратите внимание, что в элементе таблицы <IgnoreColumn Column = "DeptId" DelimitedColumnName = "/>-> </tablemon Collune> </context> </generatorConfiguration> может быть несколько элементов.Выше приведено подробное объяснение наиболее совершенного файла конфигурации Mybatis Generator, введенного вам редактором (полная версия). Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!