zoukankan      html  css  js  c++  java
  • Mybatis逆向工程

    正向:数据库——》javaBean实体类、mapper接口、xml文件

    逆向:根据数据库的表mybatis可以逆向分析出这张表,然后根据这张表创建出对应的JavaBean实体类、对应的增删改查接口、mapper文件(代码生成器)

    Mybatis Generator

    一个专门为mybatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等复杂的sql操作需要我们手动编写。

    配置依赖:

    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.5</version>
    </dependency>

    新建generator.xml文件——生成器核心

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
            PUBLIC "-//mapper.org//DTD Mybatis Generator Configuration 1.0//EN"
            "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration>
        <!--
        context:指定一个mybatis代码生成器的运行环境
        targetRuntime="Mybatis3Simple":生成一个简单的CURD操作
        -->
        <context id="DB2Tables" targetRuntime="Mybatis3Simple">
            <!--jdbcConnection:指定如何连接到目标数据库-->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/mybatis"
                            userId="root"
                            password="123456">
            </jdbcConnection>
    
            <!--javaTypeResolver:类型解析器-->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
            <!--
            javaModelGenerator:指定JavaBean的生成策略
            targetPackage="bean":目标包名
            targetProject=".srcjava":目标工程
            -->
            <javaModelGenerator targetPackage="bean" targetProject=".java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
    
            <!--sqlMapGenerator:sql映射生成策略-->
            <sqlMapGenerator targetPackage="mapper" targetProject=".
    esources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
    
            <!--javaClientGenerator:相当于指定mapper接口所在位置-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="dao" targetProject=".java">
                <property name="javaClientGenerator" value="true"/>
            </javaClientGenerator>
    
            <!--
            指定要逆向分析哪些表:根据表要创建JavaBean对象
            domainObjectName:需要生成的实体类的名字
            -->
            <table tableName="t_employee" domainObjectName="Employee"></table>
            <table tableName="t_department" domainObjectName="Department"></table>
        </context>
    </generatorConfiguration>

    通过测试文件的方式生成代码:

    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    File configFile = new File(".src/main/resources/generator.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);

    1、找不到配置文件

    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    //指定 逆向工程配置文件
    File configFile = new File("E:/Code/Mybatis/Mybatis05_generator/src/main/resources/generator.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);

    将相对路径改为绝对路径

    2、运行时并没有生成对应的文件


    相应的目标工程路径有问题

    我的目录结构:







  • 相关阅读:
    UVa 820 因特网带宽(最大流)
    UVa 1001 奶酪里的老鼠(Dijkstra或Floyd)
    UVa 821 网页跳跃(Floyd)
    UVa 11624 大火蔓延的迷宫
    UVa 10881 蚂蚁
    UVa 11300 分金币
    UVa 11729 突击战
    《额尔古纳河右岸》读书笔记
    HDU 1083 Courses(二分图匹配模板)
    UVa 10618 跳舞机
  • 原文地址:https://www.cnblogs.com/huangzhe1515023110/p/9276079.html
Copyright © 2011-2022 走看看