Demo:
http://pan.baidu.com/s/1pLeyVv9
1.pom.xml
1 <dependencies> 2 <!-- 用於生成日志 --> 3 <dependency> 4 <groupId>log4j</groupId> 5 <artifactId>log4j</artifactId> 6 <version>1.2.17</version> 7 </dependency> 8 <!-- 用於連接oracle數據庫 --> 9 <dependency> 10 <groupId>ojdbc</groupId> 11 <artifactId>ojdbc</artifactId> 12 <version>14-10gR3</version> 13 </dependency> 14 <!-- 用於連接mysql數據庫 --> 15 <dependency> 16 <groupId>mysql</groupId> 17 <artifactId>mysql-connector-java</artifactId> 18 <version>5.1.38</version> 19 </dependency> 20 <dependency> 21 <groupId>org.mybatis</groupId> 22 <artifactId>mybatis</artifactId> 23 <version>3.3.0</version> 24 </dependency> 25 <!-- mybatis-generator-core核心jar包 --> 26 <dependency> 27 <groupId>org.mybatis.generator</groupId> 28 <artifactId>mybatis-generator-core</artifactId> 29 <version>1.3.2</version> 30 </dependency> 31 </dependencies>
2.mybatis-generator.xml(根目錄下新建資源文件夾resources,放里面就行,以后需要讀取)
這是用於生成pojo和mapper的配置文件,是獨立的,這里面定義了各種映射規則,如生成的位置,生成哪張表甚至可以指定字段等等,具體如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 6 <generatorConfiguration> 7 <context id="caigouTables" targetRuntime="MyBatis3"> 8 <commentGenerator> 9 <!-- 是否去除自動生成的注釋 true:是 : false:否 --> 10 <property name="suppressAllComments" value="true" /> 11 </commentGenerator> 12 <!--數據庫連接的信息:驅動類、連接地址、用戶名、密碼 --> 13 <!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver" 14 connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" 15 password="mysql"> 16 </jdbcConnection> --> 17 <jdbcConnection 18 driverClass="oracle.jdbc.OracleDriver" 19 connectionURL="jdbc:oracle:thin:@192.168.44.128:1521:orcl" 20 userId="scott" 21 password="orcl"> 22 </jdbcConnection> 23 24 <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer true,把JDBC DECIMAL 和 25 NUMERIC 類型解析為java.math.BigDecimal --> 26 <javaTypeResolver> 27 <property name="forceBigDecimals" value="false" /> 28 </javaTypeResolver> 29 30 <!-- targetProject:生成PO類的位置 --> 31 <javaModelGenerator targetPackage="com.yan.pojo" 32 targetProject=".\src\main\java"> 33 <!-- enableSubPackages:是否讓schema作為包的后綴 --> 34 <property name="enableSubPackages" value="false" /> 35 <!-- 從數據庫返回的值被清理前后的空格 --> 36 <property name="trimStrings" value="true" /> 37 </javaModelGenerator> 38 <!-- targetPackage:mapper映射文件生成的位置 --> 39 <sqlMapGenerator targetPackage="com.yan.dao.mapper" 40 targetProject=".\src\main\java"> 41 <property name="enableSubPackages" value="false" /> 42 </sqlMapGenerator> 43 <!-- targetPackage:mapper接口的生成位置 --> 44 <javaClientGenerator type="XMLMAPPER" 45 targetPackage="com.yan.dao.mapper" 46 targetProject=".\src\main\java"> 47 <property name="enableSubPackages" value="false" /> 48 </javaClientGenerator> 49 50 <!-- 指定表 emp 51 這里不指定schema,逆向工程會查詢sysuser都有哪些schema,對每個schema生成對象--> 52 <table schema="scott" tableName="emp"> 53 <!-- <columnOverride column=""></columnOverride> --> 54 </table> 55 <table schema="scott" tableName="dept"/> 56 57 </context> 58 </generatorConfiguration>
3.創建執行類GeneratorExecution,用來讀取上述配置文件,並且根據配置文件執行(直接Run as Java Application)就大功告成了,哦對了,記得刷新一下項目,不然看不到哦^_^
1 public class GeneratorExecution { 2 public static void generator(){ 3 4 List<String> warnings=new ArrayList<String>(); 5 try { 6 // 導入配置表mybatis-generator.xml 7 File configFile=new File("resources/mybatis-generator.xml"); 8 // 解析 9 ConfigurationParser cp=new ConfigurationParser(warnings); 10 Configuration config=cp.parseConfiguration(configFile); 11 // 是否覆蓋 12 DefaultShellCallback dsc=new DefaultShellCallback(true); 13 MyBatisGenerator mg=new MyBatisGenerator(config, dsc, warnings); 14 mg.generate(null); 15 } catch (Exception e) { 16 e.printStackTrace(); 17 } 18 19 } 20 21 /** 22 * @param args 23 */ 24 public static void main(String[] args) { 25 GeneratorExecution.generator(); 26 System.out.println("done!"); 27 } 28 29 }