최근에 프로젝트를 수행하지 않았으므로 자세한 설명을 통해 가장 완전한 Mybatis Generator (Short for Short)에 대한 가장 완전한 구성 파일을 재구성했으며 더 이상 EN의 사용자 안내서를 볼 필요가 없습니다.
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype generatorconfigurationpublic "-// mybatis.org//dtd mybatis 생성기 구성 1.0 // en" "http://mybatis.org/mybatis-generator-config_1_10.dtd">. Generator-> <GeneratorConfiguration> <!-구성 항목 또는 구성 파일을로드하는 데 사용할 수 있습니다. 전체 구성 파일에서 $ {propertykey}를 사용하여 구성 항목 리소스를 참조 할 수 있습니다. 자원로드 주소를 구성하고, 자원 사용 및 MBG는 Com/MyProject/GeneratorConfig.Properties URL과 같은 ClassPath에서 시작하여 MBG를 시작합니다. 두 속성 중 하나만 선택할 수 있습니다. 또한 MyBatis-Generator-Maven-Plugin을 사용하는 경우 POM.xml에 정의 된 특성은 GeneratorConfig.xml <Properties Resource = ""url = ""/>-> <!에서 직접 사용할 수 있습니다. files/ibm/sqllib/java/db2java.zip "/>-> <!-컨텍스트 : 객체 그룹 생성을위한 환경 ID : 필수, 컨텍스트 ID, 오류를 생성 할 때 프롬프트를 사용하는 데 사용됩니다. 기본 대상 1의 스타일을 지정 : 조건부와 유사; 2, 플랫 : 모든 컨텐츠 (1 차 키, 블로브) 등은 한 객체에서 생성됩니다. 3, 계층 적 : 기본 키는 XXKey 객체 (키 클래스), 블로브 등을 생성하며, 개별을 개별적으로 생성하고, 다른 단순 속성은 하나의 객체 (레코드 클래스) targetRuntime : 1, myBatis3 : myBatis3.x 및 xxxbysample 샘플을 포함하여 MyBatis3.x 및 위 버전을 기반으로 컨텐츠를 생성합니다. 2, mybatis3simple : mybatis3과 유사하지만 xxxbysample을 생성하지는 않습니다. 소개 된 Columnimpl : MBG를 확장하는 데 사용되는 클래스의 완전히 자격있는 이름입니다.> <context id = "mysql"defaultModelType = "Hierarchical"TargetRuntime = "MyBatis3Simple"> <!-DataBase Keywords, default false를 자동으로 식별합니다. 일반적으로 기본값을 유지하고 데이터베이스 키워드 (Java 키워드)를 유지하고 ColumnOverride를 사용하여 재정의-> <속성 이름 = "autodelimitkeywords"value = "false"/> <!-생성 된 Java 파일의 인코딩-> <property name = "javafileencoding"value = "utf-8"/<!-형식 Java Code-> <java code ". value = "org.mybatis.generator.api.dom.defaultjavaformatter"/> <!-형식 xml 코드-> <속성 이름 = "xmlformatter"value = "org.mybatis.generator.api.dom.defaultxmlformatter"/> <!-시작한 이름을 지정하는 기호를 지정합니다. 예를 들어, Oracle은 이중 인용문이며 MySQL 기본값은`백 티크입니다. -> <property name = "statgerDelimiter"value = "`/> <속성 이름 ="endDelimiter "value ="` "/> <!-이 구성을 사용하여 데이터베이스를 링크하려면 @Todo를 연결해야합니다. ConnectionUrl = "jdbc : mysql : ///pss"userId = "root"password = "admin"> <!-여기에서는 속성 속성을 설정할 수 있으며 각 속성 속성은 구성된 드라이버로 설정됩니다-> </jdbcconnection> <!-Java 유형 프로세서는 Java의 유형에 사용되는 DB의 유형에 사용됩니다. 기본적으로 정수, 길고 짧은 등을 사용하여 소수 및 숫자 데이터 유형에 해당합니다. -> <javatyperesolver type = "org.mybatis.generator.internal.types.javatyperesolverdefaultimpl"> <!-true : 10 진수 및 숫자 데이터 유형에 bigdecimal을 사용하십시오 : 기본값> 0; 길이> 18 : bigdecimal; scale = 0; 길이 [10,18] : 길고 사용; scale = 0; 길이 [5,9] : 정수 사용; scale = 0; 길이 <5 : 짧은 사용; -> <property name = "ForceBigDecimals"value = "false"/> </javatyperesolver> <!-Java 모델 제작자는 필요한 요소입니다. 1. 키 클래스 (Context의 DefaultModelType 참조); 2. Java 클래스; 3. 쿼리 클래스 TargetPackage : 생성 된 클래스에 배치 할 패키지, 실제 패키지는 enablebpackages 속성으로 제어됩니다. TargetProject : Target Project, 기존 디렉토리를 지정하며 생성 된 컨텐츠가 지정된 디렉토리에 배치됩니다. 디렉토리가 존재하지 않으면 MBG는 디렉토리를 자동으로 생성하지 않습니다-> <javamodelgenerator targetpackage = "com._520it.mybatis.domain"targetproject = "src/main/java"> <!-MyBatis3/mybatis3simple은 각각 생성 된 클래스에 대한 생성자를 자동으로 생성합니다. 세터를 사용하는 대신; -> <property name = "constructor-based"value = "false"/> <!-대상 패키지를 기반으로, 데이터베이스 스키마에 따라 패키지 레이어가 생성됩니다. 최종 생성 클래스는이 패키지 아래에 배치되며 기본값은 false-> <property name = "enablebpackages"value = "true"/> <!-mybatis3/mybatis3simple의 경우 불변의 클래스를 생성합니까? TRUED 인 경우 MBG는 Setter 메소드가없는 클래스를 생성하고 ConstructOrbased와 유사한 클래스로 바꾸면-> <속성 이름 = "Empable"value = "false"/> <!-루트 객체를 설정합니다. 이 루트 객체가 설정되면 생성 된 키 클래스 또는 레코드 클래스 가이 클래스를 상속합니다. 이 옵션은 테이블의 루트 클래스 속성에서 재정의 할 수 있습니다. 참고 참고 : 키 클래스 또는 레코드 클래스에 루트 클래스와 동일한 속성이있는 경우 MBG는 다음을 포함하여 이러한 속성을 재생하지 않습니다. 속성 이름은 동일하고 동일한 유형 및 동일한 getter/setter 메소드입니다. -> <property name = "rootclass"value = "com._520it.mybatis.domain.basedomain"/> <!-getter 메서드에서 문자열 유형 필드에서 trim () 메소드를 호출할지 여부를 설정합니다.-> <propertment name = "trimstrings"value = "true"/> </javamodelgenerator> <! MyBatis3 후에는 mapper.xml 파일 + 맵퍼 인터페이스를 사용하거나 Mapper 인터페이스를 사용하지 않거나 Mapper 인터페이스 + 주석 만 사용할 수 있습니다. 따라서 JavaclientGenerator 구성이 XML을 생성 해야하는 경우이 요소는 TargetPackage/TargetProject : javamodelGenerator-> <sqlmapgenerator targetpackage = "com._520it.mybatis.mapper"targetProject ""src/main resours "와 동일하게 구성되어야합니다. 데이터베이스 스키마에. 최종 생성 클래스는이 패키지 아래에 배치되며 기본값은 false-> <propertion name = "enablebpackages"value = "true"/> </sqlmapgenerator> <!-MyBatis의 경우 맵퍼 인터페이스를 생성하는 것입니다. 요소가 구성되지 않은 경우 기본적으로 맵퍼 인터페이스가 생성되지 않습니다. javamodelgeneratortype와 동일합니다. 맵퍼 인터페이스를 생성하는 방법을 선택합니다 (mybatis3/mybatis3simple 아래) : 1. 주석 미사일 : Mapper 인터페이스를 생성합니다. 해당 XML은 생성되지 않습니다. 2. MixedMapper : 하이브리드 구성을 사용하면 맵퍼 인터페이스가 생성되고 적절한 주석이 적절하게 추가되지만 XML은 XML에서 생성됩니다. 3. XMLMAPPER : 맵퍼 인터페이스가 생성되고 인터페이스는 XML에 전적으로 의존합니다. 컨텍스트가 mybatis3simple 인 경우 : ANNONOTATEDMAPPER 및 XMLMAPPER--> <javaclientGenerator targetpackage = "com._520it.mybatis.mapper"tipe "targetProject ="src/main/java ">-대상 패키지를 기반으로하는 SRC/Main/Java"> <! 최종 생성 클래스는이 패키지 아래에 배치됩니다.이 패키지는 false-> <property name = "enablebpackages"value = "true"/> <!-모든 생성 된 인터페이스에 부모 인터페이스를 추가 할 수 있지만 MBG는 생성에만 책임이 있으며 <속성 이름 = "rootinterface"value = ""/> --> </javaclientgerator> <! 하나 이상의 테이블이있을 수 있습니다. 테이블 요소에서 선택한 테이블이 있어야합니다. 다음 파일이 생성됩니다. 1. SQL 맵 파일 2. 기본 키 클래스를 생성합니다. 3. Blob 및 기본 키를 제외한 다른 필드가있는 클래스; 4. Blob을 포함하는 수업; 5. 사용자가 동적 쿼리를 생성 할 수있는 조건부 클래스 (SelectByExample, DeleteByExample), 선택 사항; 6. Mapper 인터페이스 (선택 사항) TableName (필수) : 생성 할 객체의 테이블 이름; 참고 : 사례 민감한 문제. 정상적인 상황에서 MBG는 데이터베이스 식별자의 사례 민감도를 자동으로 식별합니다. 일반적으로 MBG는 세트 스키마, 카탈로그 또는 태블 이름을 기반으로 데이터 테이블을 쿼리하고 다음 프로세스를 따릅니다. 1. 스키마, 카탈로그 또는 테이블 이름에 공백이있는 경우 형식 세트가 정확하게 쿼리에 사용됩니다. 2. 그렇지 않으면, 데이터베이스 식별자가 대문자 화 된 경우 MBG는 테이블 이름을 자동으로 자본으로 전환 한 다음 검색합니다. 3. 그렇지 않으면, 데이터베이스 식별자가 대문자 화 된 경우 MBG는 자동으로 테이블 이름을 자본으로 바꾸고 검색합니다. 찾다; 4. 그렇지 않으면 지정된 사례 형식을 사용하여 쿼리를 사용하십시오. 또한 테이블을 작성할 때 데이터베이스 개체를 사용하는 경우 데이터베이스 식별자가 사용되는 경우에도 주어진 케이스를 사용하여 테이블 이름을 작성합니다. 선택적으로 : 1. 스키마 : 데이터베이스의 스키마; 2. 카탈로그 : 데이터베이스 카탈로그; 3. 별칭 : 데이터 테이블에 대한 별명이 설정되었습니다. 별칭이 설정되면 SQL 문서에서 생성 된 모든 선택을 선택하면 열 이름이 다음과 같습니다. 설정되지 않은 경우 테이블 이름을 도메인 클래스의 이름으로 사용하십시오. somepck.domainname으로 설정할 수 있고 DomainName 클래스는 SomePCK 패키지에 자동으로 배치됩니다. 5, enableInsert (default true) : 삽입 문을 생성할지 여부를 지정합니다. 6, enableSectByPrimaryKey (기본값) : 기본 키에 따라 개체를 쿼리하기위한 문을 생성할지 여부를 지정합니다 (예 : getById 또는 get). 7. EnableseLectByExample (기본 true) : MyBatis3simple은 거짓이며 동적 쿼리 문을 생성할지 여부를 지정합니다. 8. enableUpdateByPrimaryKey (기본값) : 기본 키에 따라 개체를 수정하는 문을 생성할지 여부를 지정합니다 (즉, 업데이트). 9. enabledeTeTeByPrimaryKey (기본값) : 기본 키에 따라 객체를 삭제하는 문을 생성할지 여부를 지정합니다 (즉, 삭제). 10. enabledel etebyexample (기본 참) : mybatis3simple은 거짓이며 동적 삭제 명령문을 생성할지 여부를 지정합니다. 11, enableCountByexample (기본 true) : myBatis3simple은 거짓이며, 동적 쿼리 총 단어 수를 생성할지 여부를 지정하십시오 (Pagination의 총 단어 수에 사용). 12, enableupdatebyexample (기본값) : mybatis3simple은 거짓이며 동적 수정 문을 생성할지 여부를 지정하십시오 (개체에서 비어 있지 않은 속성 만 수정). 13, modelTyp e : 컨텍스트 요소의 defaultModelType를 참조하십시오. 이는 덮어 쓰기와 동일합니다. 14, DelimitIntifiers : TableName의 설명을 참조하십시오. 기본 Delimitidentifiers는 이중 인용문입니다. MySQL과 같은 데이터베이스가`(Backquotes 및 EndDelimiter 속성 및 endDelimiter 속성도 설정 해야하는 경우 DelimitAllColumns : SQL에서 생성 된 모든 열 이름이 식별자에 의해 야기되는지 여부를 설정해야합니다. 분리체는 문맥의 속성을 나타냅니다. 테이블의 많은 매개 변수는 JavamodelGenerator, 컨텍스트 및 기타 요소의 기본 속성을 다시 작성하는 것입니다. -> <table tableName = "userInfo"> <!-JavamodelGenerator의 생성자 기반 속성을 참조하십시오-> <속성 이름 = "constructorbased"value = "false"/> <!-기본값은 False입니다. true로 설정된 경우 테이블 이름은 생성 된 SQL에 카탈로그 또는 스키마가 추가되지 않습니다. -> <property name = "ingorequalifiersatruntime"value = "false"/> <!-참조 javamodelgenerator 불변성 속성의 불변성 속성-> <속성 이름 = "불변"value = "false"/<!-도메인 클래스 만 생성할지 여부를 지정합니다. true로 설정되면 도메인 클래스 만 생성됩니다. sqlmapgenerator가 구성된 경우 Mapper XML 파일에서 resultmap 요소 만 생성됩니다 .-> <속성 이름 = "modelonly"value = "false"/> <!-JavamodelGenerator <rootclass 속성을 참조하십시오. 이름 = "rootinterface"value = ""/>-> <!-JavaclientGenerator <property name = "rootinterface"value = ""/>-> <!-RuntimeCatalog가 설정되면, 생성 된 SQL에서 지정된 카탈로그가 테이블 요소의 카탈로그 대신 사용됩니다. <property name = "runtimecatalog"value = ""/>-> <!-Runtimeschema가 설정되면 생성 된 SQL에서 지정된 스키마가 테이블 요소의 스키마 대신 사용됩니다. <property name = "runtimeschema"value = ""/>-> <!-runtimeTableName이 설정되면 생성 된 SQL에서 지정된 표준 이름이 테이블 요소 대신 사용됩니다. <속성 이름 = "runtimetableName"value = "/>-> <!-이 속성은 mybatis3simple에만 유용합니다. 선택한 런타임이 mybatis3simple 인 경우 selectall 메소드가 생성됩니다. selectAllOrderByClause가 지정된 경우 지정된 주문 조건이 SQL에 추가됩니다. -> <property name = "selectAllOrderByClause"value = "age desc, age desc, username asc"/> <!-true로 설정되면 생성 된 모델 클래스는 열 자체 이름을 직접 사용하고 더 이상 낙타 이름 지정 메소드를 사용하지 않으며, 생성 된 속성 이름은 borndate가 아닌 born_date --> valime = "useactualcolunmnnames =" "" 기본 키를 생성하는 메소드를 생성합니다. 이 요소가 설정되면 MBG는 생성 된 <insert> 요소에서 올바른 <selectkey> 요소를 생성합니다. 요소를 선택할 수 있습니다. 열 : 기본 키의 열 이름; SQLSTATEMENT : 생성 할 SelectKey 문에는 다음과 같은 옵션이 있습니다. CloudsCape : SelectKey와 동등한 SQL은 다음과 같습니다. value Identity_val_local () () DB2 : SelectKey와 동등한 SQL과 동일합니다. sysibm.sysdummy1derby : selectkey와 동등한 SQL은 다음과 같습니다. value Identity_val_local () hsqldb : selectkey와 동등한 SQL은 : call Identity () informix : selectkey와 동등한 SQL과 동일합니다. select dbinfo ( 'sqlca.sqlerrd1') selectkey : select last_insert_id () sqlserver : selectkey와 동등한 SQL은 Select Kepo_Identity () Sybase : SelectKey와 동등한 SQL은 : select @@ evertyjdbc : usegeneratedkeys = "true"및 KeyProperty Attributes를 추가하는 것과 동일합니다. sqlstatement = ""/>-> <!-이 요소는 테이블의 열 이름을 기준으로 객체 속성 이름을 계산하기 전에 열 이름의 이름을 바꿉니다. 테이블의 열에 열 이름과 같은 일반적인 접두사 문자열이있는 경우 cust_id, cust_name, cust_email, cust_address 등; 그런 다음 SearchString을 "^cust_"로 설정하고 빈 공간으로 교체 할 수 있습니다. 그런 다음 생성 된 고객 객체의 속성 이름은 custid, cu stname 등이 아니지만 ID, 이름, 이메일로 대체 된 다음 속성이됩니다 : id, name, email; MBG는 java.util.regex.matcher.replaceall을 사용하여 SearchString 및 Replacestring을 대체합니다. Column Override 요소가 사용되면이 속성은 유효하지 않습니다. <ColumnRenamingRule SearchString = ""REPLACESTRING = ""/>-> <!-테이블의 열의 속성을 수정하는 데 사용됩니다. MBG는 수정 된 열을 사용하여 도메인의 특성을 생성합니다. 열 : 재설정 할 열 이름; 테이블 요소 ~->-> <columnoverride column = "username"> <!-속성 속성을 사용하여 속성 이름을 사용하여 열을 생성하기 위해 속성 속성을 사용하여 열을 생성하려면-> <속성 이름 = "value ="username "/> <!-Javatype는 생성 된 도메인의 속성 유형을 지정하는 데 사용됩니다. <property name = "javatype"value = ""/>-> <!-jdbctype는 열의 jdbc 유형을 지정하는 데 사용됩니다. <property name = "jdbctype"value = ""/>-> <!-TypeHandler는이 열에서 사용되는 TypeHandler를 지정하는 데 사용됩니다. MyBatis에서 MyBatis-config.xml의 TypeHandler는 MyBatis-config.xml에서 생성되지 않으며 다음의 매개 변수 설명 만 생성되지 않습니다. 여기서 id = # #{id, jdbctype = bigint, typehandler = com._520it.mypebatler} <jD value = ""/>-> <!-테이블 요소의 DelimitAllColumns 구성을 참조하십시오. 기본값은 false <속성 <속성 이름 = "delimitedColumnName"value = ""/>-> </columnOverRide> <!-MGB가 무시한 열을 설정합니다. 재 열이 설정되면 생성 된 도메인 및 생성 된 SQL에서 열 : 열의 이름을 지정합니다. DelimitedColumnName : 테이블 요소의 DelimitAllColumns 구성을 참조하십시오. 기본값은 False입니다. 테이블 요소에 여러 개의 무지색 요소가있을 수 있습니다. <Igrorecolumn column = "deptid"delimitedColumnName = ""/>-> </table> </context> </generatorConfiguration>.위는 편집기 (정식 버전)가 소개 한 Mybatis Generator의 가장 완벽한 구성 파일에 대한 자세한 설명입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!