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、运行时并没有生成对应的文件


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

我的目录结构:







原文地址:https://www.cnblogs.com/huangzhe1515023110/p/9276079.html