코드 자동화 MyBatis로 생성기 - 단계 생성

면책 조항 :이 문서는, 블로거 원본입니다 다시 인쇄에 오신 것을 환영합니다. https://blog.csdn.net/guo_xl/article/details/86004068

단계

  1. XML 구성 파일을 작성 generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <context id="MysqlContext" targetRuntime="MyBatis3" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <commentGenerator>
            <property name="suppressDate" value="true"/>
        </commentGenerator>
      <!--配置数据库信息-->
        <jdbcConnection driverClass="org.mariadb.jdbc.Driver"
                        connectionURL="jdbc:mariadb://localhost:3306/mydb"
                        userId="root"
                        password="devuser">
        </jdbcConnection>
        <!--根据table生成的实体类-->
        <javaModelGenerator targetPackage="rechard.learn.mybatis.entities" targetProject="src/main/java">
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
       <!--mybatis的xml-->
        <sqlMapGenerator targetPackage="rechard.learn.mybatis.xml"  targetProject="src/main/resources"/>
       <!--mybatis的xml对应的接口-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="rechard.learn.mybatis.mappers"  targetProject="src/main/java"/>
      <!--配置的表-->
        <table tableName="TEST">
            <generatedKey column="id" sqlStatement="Mysql"/>
        </table>
    </context>
</generatorConfiguration>

자세한 내용은 공식 구성 XML을 참조 할 수 있습니다
http://www.mybatis.org/generator/configreference/xmlconfig.html

  1. TEST는 SQL 테이블을 구축
drop table  if exists `TEST`;
CREATE TABLE `TEST` (
  `TESTKY` int(11) NOT NUlL PRIMARY KEY,
  `NAME` varchar(200) not null default '',
  `UPDATEDTTM` timestamp NOT NULL DEFAULT current_timestamp(), 
  `UPDATEUSER` varchar(32) COLLATE utf8_bin NOT NULL,
  `VERSIONSTAMP` smallint(6) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=DYNAMIC;
  1. 생성하는 방법을
    다음과 같은 방법을
    • 명령 행
    • 개미
    • 받는다는
    • 자바 코드

다음 명령 줄을 받는다는 초점을 맞추고

  1. 방법 명령 줄
    명령 터미널을 열고 다음을 입력
cd E:\mvn\repository\org\mybatis\generator\mybatis-generator-core\1.3.5
java -jar mybatis-generator-core-1.3.5.jar -configfile D:\code\xxx-mybatis\src\main\resources\generatorConfig.xml

보고서

Caused by: java.lang.ClassNotFoundException: org.mariadb.jdbc.Driver
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)

그가되어 org.mariadb.jdbc.Driver찾을 수 없습니다, 당신은 구성 할 필요가 org.mariadb.jdbc.Driver다음과 같이 클래스 패스에 패키지를

java -jar mybatis-generator-core-1.3.5.jar 
-classpath E:\mvn\repository\org\mariadb\jdbc\mariadb-java-client\2.3.0\mariadb-java-client-2.3.0.jar
-configfile D:\code\xxx-mybatis\src\main\resources\generatorConfig.xml
  1. 받는다는 방법 이 권장
    pom.xml 파일을
<build>
		<plugins>
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>1.3.5</version>
				<dependencies>
					<dependency>
						<groupId>org.mariadb.jdbc</groupId>
						<artifactId>mariadb-java-client</artifactId>
						<version>2.3.0</version>
					</dependency>
				</dependencies>
			</plugin>			
		</plugins>
	</build>

받는다는 명령

mvn -Dmybatis.generator.overwrite=true  -Dmybatis.generator.configurationFile=.\src\main\resources\generatorConfig.xml mybatis-generator:generate

설명 :

  • 구성 파일을 지정 mybatis.generator.configurationFile
  • 기존의 소스 코드를 덮어 mybatis.generator.overwrite

이러한 구성은 볼 수있는 공식 참조 문서 매개 변수 참조 서

  1. generatorConfig.xml의 중요한 구성 프로파일의 일부
생성 된 클래스 이름
  • 클래스 학생들 데이터베이스 테이블 이름의 기본 이름은, domainObjectName예를 들어, 원하는의 클래스 이름으로 이름이 변경 될 수 있습니다 RPTDEF동일한 이름으로RptDef.java
 <table tableName="RPTDEF" domainObjectName="RptDef">
</table>
생성 된 클래스 필드 유형
  • 필드가 부울 유형은 기본적으로 생성되는 경우 같은 테이블과 필드 유형의 개발 모델은
    private byte[] isdelete사용 <columnOverride column="ISDELETE" javaType="boolean" />생성private boolean isdelete
 <table tableName="RPTDEF" domainObjectName="RptDef">        
            <columnOverride column="ISDELETE" javaType="boolean" />
</table>
생성 된 기본 키

에 기본 키를 생성 generatedKey내부,

  • sqlStatement데이터베이스 사용을 어떤 종류의 지정
  • 정체성 = "true"를 true로 설정하면, 같은
<table tableName="RPTDEF" domainObjectName="RptDef">   
    <generatedKey column="RPTDEFKY" sqlStatement="Mysql" identity="true" />
    <columnOverride column="ISDELETE" javaType="boolean" />
</table>

RptDef.rptdefky 생성 된 기본 키에 반환 후. 이것은 예를 들어, 코드에서 생성 된 키를 얻으려면, 유용합니다.

RPTInstMapper.insertSelective(inst);
int rptInstKy = inst.getRptinstky();

7. 코드 커버리지 문제 재 - 생성
후 빌드는 등 기존의 자바, 덮어 쓰기를 원하지 않을 경우, 될 mybatis.generator.overwritefalse로 설정합니다. 그러나 매퍼 XML 파일은 구덩이인지 모르는,이 덮어 쓰기됩니다, 저장되지 않습니다. 그래서 가장 매퍼 XML 파일은 아래에 저장합니다. 돌아 가기 수동으로 병합하려면

참조 문서

http://www.mybatis.org/generator/index.html
http://www.mybatis.org/generator/configreference/xmlconfig.html#

추천

출처blog.csdn.net/guo_xl/article/details/86004068