mybatis逆向工程使用案例详解

创建项目

在这里插入图片描述

pom.xml文件添加依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>Demo</artifactId>
    <version>1.0-SNAPSHOT</version>
<dependencies>
    <!-- 整合mybatis框架 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.8</version>
    </dependency>
    <!-- mysql驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.32</version>
    </dependency>
    <!--逆向工程以来-->
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.4.0</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <configuration>
                <verbose>true</verbose><!--运行时显示详细的信息 -->
                <overwrite>true</overwrite><!-- 每次覆盖自动生成的文件 -->
            </configuration>
            <executions>
                <execution>
                    <id>Generate MyBatis Artifacts</id>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency><!-- 配置连接依赖后,generatorConfig.xml不需要再配置本地驱动 -->
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.32</version>
                </dependency>
            </dependencies>
            <!--指定配置文件的路径-->
            <!--<configuration>
              <configurationFile>src/main/resources/mybatis/mgb.xml</configurationFile>
              <overwrite>true</overwrite>
            </configuration>-->
        </plugin>
    </plugins>
</build>
</project>

类路径下创建mgb.xml文件

在这里插入图片描述

内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--MyBatis3Simple:简单版的-->
    <context id="DB2Tables" targetRuntime="MyBatis3Simple">
        <!--去掉生成的注释-->
        <commentGenerator>
            <!--注释是否包含生成时间 一般设置true 不生成-->
            <property name="suppressDate" value="true"/>
            <!--去掉注释-->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库配置-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/chunmeng?serverTimezone=UTC&amp;
                        allowMultiQueries=true&amp;characterEncoding=utf8"
                        userId="root" password="root"/>
        <!--java类型的解析器-->
        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!--指定javabean生成策略
            targetPackage:指定目标包名:生成实体类的位置
            targetProject:目标工程 .\src:标识当前项目
          -->
        <javaModelGenerator targetPackage="com.demo.pojo"
                            targetProject="D:\JAVAproject\changgou\demo\src\main\java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--SQL映射器-->
        <sqlMapGenerator targetPackage="com.demo.dao"
                         targetProject="D:\JAVAproject\changgou\demo\src\main\java">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.demo.dao"
                             targetProject="D:\JAVAproject\changgou\demo\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!--指定要逆向分些那些表 根据这边创建Javabean
         domainObjectName:指定生成类的名字
         -->
        <table tableName="all_else" domainObjectName="AllElsePojo"/>
        <table tableName="fixation" domainObjectName="FixationPojo" />
        <table tableName="jcb" domainObjectName="JcbPojo" />
        <table tableName="network_loan" domainObjectName="NetworkLoanPojo" />
        <table tableName="profile" domainObjectName="ProfilePojo" />
    </context>
</generatorConfiguration>

mgb.xml注意事项

在这里插入图片描述

创建数据库的表并添加字段

在这里插入图片描述

创建Main方法,内容如下

在这里插入图片描述

public class Main {
    public static void main(String[] args) throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        //mgb.xml文件的全路径
        File configFile = new File("D:\\JAVAproject\\changgou\\demo\\src\\main\\resources\\mgb.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);
    }
}

运行结果

在这里插入图片描述
在这里插入图片描述

MyBatis逆向工程是指通过数据库表结构自动生成Java代码的工具。配置文件是MyBatis逆向工程的重要组成部分,下面是对其进行详细解释。 在逆向工程配置文件中,首先需要配置数据库连接信息。包括数据库的URL、用户名、密码等,这些信息用于建立与数据库的连接,保证能够正常读取到数据库的表结构。 接着需要配置逆向工程生成的文件保存的目标路径。可以指定生成的Java文件、Mapper接口和Mapper.xml文件的保存路径。这样生成的文件就会按照配置的路径保存到指定的目录下。 配置生成的实体类的包名和类名前缀,可以通过这些配置项来自定义生成的实体类的命名规则。例如可以指定包名为com.example.entity,类名前缀为"Sys",那么生成的实体类就会以"Sys"开头,如"SysUser"。 配置生成的Mapper接口的包名和后缀名,可以通过这些配置项来自定义生成的Mapper接口的命名规则。例如可以指定包名为com.example.mapper,后缀名为"Dao",那么生成的Mapper接口就会以"Dao"结尾,如"UserDao"。 配置生成的Mapper.xml文件的包名和后缀名,可以通过这些配置项来自定义生成的Mapper.xml文件的命名规则。例如可以指定包名为com.example.mapper,后缀名为"Mapper",那么生成的Mapper.xml文件就会以"Mapper"结尾,如"UserMapper"。 此外,还可以在配置文件中添加特定的Table标签来过滤要生成的表,只生成需要的部分表的代码。 通过以上配置,我们可以轻松地使用MyBatis逆向工程自动生成与数据库表结构对应的Java代码,极大地提高了开发效率。当数据库表结构发生变化时,只需重新运行逆向工程,就可以自动更新生成的代码,避免手动修改带来的错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值