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包下是否已经生成了文件

  • 相关阅读:
    spring mvc给参数起别名
    聊聊分布式定时任务中间件架构及其实现--转
    Batch Normalization的算法本质是在网络每一层的输入前增加一层BN层(也即归一化层),对数据进行归一化处理,然后再进入网络下一层,但是BN并不是简单的对数据进行求归一化,而是引入了两个参数λ和β去进行数据重构
    终端安全工具 gartner 排名
    When Cyber Security Meets Machine Learning 机器学习 安全分析 对于安全领域的总结很有用 看未来演进方向
    DNS隧道之DNS2TCP实现——dns2tcpc必须带server IP才可以,此外ssh可以穿过墙的,设置代理上网
    DNS隧道之DNS2TCP使用心得教程——是可以用来穿透qiang的,ubuntu下直接apt install dns2tcp
    DNS隧道工具汇总——补充,还有IP over DNS的工具NSTX、Iodine、DNSCat
    Data Mining and Machine Learning in Cybersecurity PDF
    ES failed to notify ClusterStateListener java.lang.IllegalStateException: environment is not locked
  • 原文地址:https://www.cnblogs.com/j120zjb/p/9230159.html
Copyright © 2011-2022 走看看