mybatis generatorプラグイン自動自作コード

25132 ワード

mybatisのgeneratorプラグインを使用すると、データベース定義のテーブル、フィールドに基づいてエンティティクラス、mapperインタフェース、xmlファイルを迅速に生成し、開発の効率を高めることができます.
なぜ自動生成するのですか?まず、開発者の時間を節約します.次に、データベースがテーブルやフィールドを増やしたり減らしたりする場合は、コードを生成するだけで、修正に時間を費やす必要はありません.第三に、データベースのボリュームがますます大きくなると、sql間の強い参照がなく、操作されている現在のテーブルであるため、ビジネスモジュールに基づいてすぐにデータベースを分割することができます.
generatorの使い方
mavenにプラグインを導入する
<plugins>
    <plugin>
        <groupId>org.mybatis.generatorgroupId>
        <artifactId>mybatis-generator-maven-pluginartifactId>
        <version>1.3.2version>
        <configuration>
            <configurationFile>src/main/resources/generatorConfig.xmlconfigurationFile>
            <verbose>trueverbose>
            <overwrite>trueoverwrite>
        configuration>
        <dependencies>
            <dependency>
                <groupId>mysqlgroupId>
                <artifactId>mysql-connector-javaartifactId>
                <version>5.1.25version>
            dependency>
        dependencies>
    plugin>
plugins>

generatorでpropertiesファイルに追加
jdbc.driverLocation=D:\\mysql-connector-java-5.1.20.jar
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=UTF-8
jdbc.userId=root
jdbc.password=123456

プロファイルgeneratorConfigを作成する.xml



<generatorConfiguration>

    
    <properties resource="generator.properties">properties>
    
    <classPathEntry location="${jdbc.driverLocation}"/>

	
    
    <context id="testTables" targetRuntime="MyBatis3" defaultModelType="flat">
	    <property name="javaFileEncoding" value="UTF-8"/>
			
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
		
        <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin">plugin>
	
		
        
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        commentGenerator>
		
        
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/yourdb"
                        userId="root" password="root"/>
						
        
        <javaTypeResolver>
		 
            <property name="forceBigDecimals" value="false"/>
        javaTypeResolver>

        
        <javaModelGenerator targetPackage="com.demo.domain" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
            <property name="trimStrings" value="true"/>
			
            <property name="constructorBased" value="true"/>
            
            <property name="immutable" value="false"/>
        javaModelGenerator>

         
        <sqlMapGenerator targetPackage="com.demo.mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="false"/>
        sqlMapGenerator>

		
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.demo.mapper" targetProject="src/main/java"
                             implementationPackage="com.demo.mapper">
            <property name="enableSubPackages" value="true"/>
        javaClientGenerator>

	    
        <table tableName="t_area" domainObjectName="Area">
		     
		     <property name="useActualColumnNames" value="true" />
		table>
		      
		<table tableName="t_user" domainObjectName="User" enableCountByExample="false" enableDeleteByExample="true"
               enableSelectByExample="false" enableUpdateByExample="false"  >
        table>

    context>
generatorConfiguration>

最後に、コードを生成
生成されたオペレーションについては、以下の3つのオペレーションのいずれかを生成できます.
方式1:mavenコマンドライン呼び出しmvn mybatis-generator:generatemvn mybatis-generator:generate -Dmybatis.generator.overwrite=true方式2:IDEAでボタンを直接クリックしてmavenプラグインを生成する---対応するモジュールの下plugins----mybatis-generator---mybatis-generator:generateをクリックすればよい
方式3:javaコマンドで実行しmybatis-generator-core-xxxxを使用する.JArパッケージjava -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite