zoukankan      html  css  js  c++  java
  • MyBatis自带的逆向工程

    首先在MySQL数据库创建两个表:Employee表和Department表,(用部门表的id作为员工表的外键)

    1、需要的jar包有三个(jar包版本号也可以是其他版本号):

        mybatis-3.3.0.jar、mybatis-generator-core-1.3.2.jar、mysql-connector-java-5.1.7-bin.jar

    2、创建一个Web项目:Eclipse--->File--->New--->Other--->Web--->Dynamic Web Project

    3、jar包放在Web Content--->WEB-INF--->lib文件夹下

    4、web.xml文件不用写配置

    5、在Java Resources文件夹下建一个config文件夹,在config文件夹下创建一个generatorConfig.xml文件,下面的代码就是generatorConfig.xml的内容

     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="testTables" 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/ssm_crud" 
    15             userId="root"
    16             password="root">
    17         </jdbcConnection>
    18         <!-- 默认false,把JDBC DECIMAL和NUMERIC类型解析为Integer;为true时把JDBC DECIMAL
    19         和NUMERIC类型解析为java.math.BigDecimal-->
    20         <javaTypeResolver>
    21             <property name="forceBigDecimals" value="false"/>
    22         </javaTypeResolver>
    23         <!-- targetPorject:生成PO(model)类的位置 -->
    24         <javaModelGenerator targetPackage="com.test.model"
    25             targetProject=".src">
    26             <!-- enableSubPackages:是否让schema作为包的后缀 -->
    27             <property name="enableSubPackages" value="false"/>
    28             <!-- 从数据库返回的值被清理前后的空格 -->
    29             <property name="trimStrings" value="true"/>
    30         </javaModelGenerator>
    31         <!-- targetProject:mapper映射文件生成的位置 -->
    32         <sqlMapGenerator targetPackage="com.test.mapper"
    33             targetProject=".src">
    34             <!-- enableSubPackges:是否让schema作为包的后缀 -->
    35             <property name="enableSubPackages" value="false"/>
    36         </sqlMapGenerator>
    37         <!-- targetPackges:mapper接口生成的位置 -->
    38         <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.mapper"
    39             targetProject=".src">
    40             <!-- enableSubPackages:是否让schema作为包的后缀 -->
    41             <property name="enableSubPackages" value="false"/>
    42         </javaClientGenerator>
    43         <!-- 指定数据库表,domainObjectName对应的是要生成的model的名字 -->
    44         <table tableName="employee" domainObjectName="Employee"></table>
    45         <table tableName="department" domainObjectName="Department"></table>
    46     </context>
    47 </generatorConfiguration>

    6、在Java Resources下的src文件夹下分表创建com.test.model、com.test.mapper、com.test.start三个包

    7、在com.test.start包下创建一个名为Generator.java的类,写好generatorConfig.xml文件后运行Generator.java的代码就可以生成model的java文件和mapper的java接口文件一个mapper的xml文件了。下面是用于自动生成的Generator.java的类代码

    package com.test.start;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.internal.DefaultShellCallback;
    
    
    public class Generator {
        public static void main(String[] args) throws Exception{
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            File configFile = new File("config\generatorConfig.xml");
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(configFile);
            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(null);
            
            System.out.println("逆向工程自动生成代码成功");
        }
    }

    8、查看com.test.model包和com.test.mapper包下是否已经生成了文件

  • 相关阅读:
    IntelliJ Idea和IntelliJ webstrm 常用快捷键
    mybatis基础学习2---(resultType和resultMap的用法和区别)和setting的用法
    使用观察者模式观察线程的生命周期
    观察者设计模式介绍
    java的内存模型及缓存问题
    一个解释volatile关键字作用的最好的例子
    多线程的waitset详细介绍
    浅谈单例模式
    SimpleThreadPool给线程池增加自动扩充线程数量,以及闲时自动回收的功能
    SimpleThreadPool给线程池增加拒绝策略和停止方法
  • 原文地址:https://www.cnblogs.com/j120zjb/p/9230159.html
Copyright © 2011-2022 走看看