mybatis generator程式碼生成器使用
阿新 • • 發佈:2018-12-17
MyBatis Generator (MBG) 是一個Mybatis的程式碼生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各個版本的程式碼,和iBATIS 2.2.0版本以後的程式碼。 他可以內省資料庫的表(或多個表)然後生成可以用來訪問(多個)表的基礎物件。 這樣和資料庫表進行互動時不需要建立物件和配置檔案。 MBG的解決了對資料庫操作有最大影響的一些簡單的CRUD(插入,查詢,更新,刪除)操作。 您仍然需要對聯合查詢和儲存過程手寫SQL和物件。
mybatis-generator有三種用法:命令列、eclipse外掛、maven外掛,我們當然選擇maven外掛的方式最方便。
Eclipse下新建maven普通專案,只需要pom.xml檔案和generator的config檔案:
1.pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.citywy</groupId> <artifactId>mybatisgenerator01</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> </dependencies> <build> <finalName>mybatisgenerator</finalName> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build> </project>
2.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> <!-- 資料庫驅動包位置 --> <classPathEntry location="E:\PACKAGE\mysql-connector-java-5.1.18.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="false"/> <property name="suppressAllComments" value="true" /> </commentGenerator> <!-- 資料庫連結URL、使用者名稱、密碼 --> <!--<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/my_db?characterEncoding=utf8" userId="root" password="123456"> --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/czssm" userId="root" password="admin"/> <!-- 生成模型的包名和位置 --> <javaModelGenerator targetPackage="com.citywy.model" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 生成的對映檔案包名和位置 --> <sqlMapGenerator targetPackage="com.citywy.mapping" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 生成DAO的包名和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.citywy.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 要生成那些表(更改tableName和domainObjectName就可以) --> <table tableName="country" domainObjectName="country" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="course" domainObjectName="course" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="middle" domainObjectName="middle" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> </context> </generatorConfiguration>
在ecplise中使用,則右擊工程,maven build,新增命令mybatis-generator:generate正常來說程式碼就生成了,就是上面紅框中的所有程式碼和資料夾。
-Dmaven.multiModuleProjectDirectory=$M2_HOME 以前跑maven專案也能跑啊,這個加上幹嗎用的呢?公司的環境不用下面這個,如果你執行報上面的錯就加上吧。