Mybatis逆向工厂mybatis-generator的使用

305 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第22天,点击查看活动详情

Mybatis虽然简化了我们对数据库的操作,但是对于一些新建项目或者新加一些数据库表的时候就比较繁琐了,鉴于这种情况,就诞生了mybatis-generator,他可以帮助我们实现对数据库表最基本的CRUD操作。这样就可以节省我们大量的时间。

一、逆向工程的搭建

1-1、添加pom.xml mybatis-generator的依赖

<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.4.0</version>
</dependency>

1-2、打开官网查看搭建步骤

image.png 如上需要先创建一个逆向工程的配置文件

1-3、采用MyBatis3Simple的方式构建

image.png

1-4、在项目中创建generatorConfig.xml

创建generatorConfig.xml,并复制以下内容

image.png

1-5、最终配置文件内容

<!DOCTYPE generatorConfiguration PUBLIC
        "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>


    <!--如果需要使用 command的方式生成需要配置数据库驱动的jar包路径
    <classPathEntry location="指定数据驱动的磁盘路径"/>-->

    <!--context 生成上下文 配置生成规则
            id 随意写
           targetRuntime 生成策略
                MyBatis3DynamicSql 默认的,会生成 动态生成sql的方式(没有xml)
                MyBatis3 生成通用的查询,可以指定动态where条件
                MyBatis3Simple 只生成简单的CRUD
    -->
    <context id="simple" targetRuntime="MyBatis3Simple">


        <commentGenerator>
            <!--设置是否生成注释  true 不生成  注意: 如果不生成注释,下次生成代码就不会进行合并-->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据源 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mybatis"
                        userId="root"
                        password="root"/>

        <!--pojo
        javaModelGenerator  java实体生成规则(POJO)
            targetPackage 生成到哪个包下
            targetProject 生成到当前文件的哪个相对路径下
        -->
        <javaModelGenerator targetPackage="cn.jony.pojo" targetProject="src/main/java"/>
        <!--mapper xml映射文件
            sqlMapGenerator mapper xml映射文件生成规则
            targetPackage 生成到哪个包下
            targetProject 生成到当前文件的哪个相对路径下
        -->
        <sqlMapGenerator targetPackage="cn.jony.mapper" targetProject="src/main/resources"></sqlMapGenerator>
        <!--mapper接口
            javaClientGenerator mapper mapper接口生成规则
            type 指定生成的方式
                1.使用注解的方式生成
                2.使用接口绑定的方式生成(要配置sqlMapGenerator)
            targetPackage 生成到哪个包下
            targetProject 生成到当前文件的哪个相对路径下-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="cn.jony.mapper" targetProject="src/main/java"/>


        <!--配置哪些表需要进行代码生成
        tableName 表名
        domainObjectName pojo类名
        mapperName 对应mapper接口的类名 和 mapper xml文件名
        -->
        <table tableName="emp" domainObjectName="Emp" mapperName="EmpMapper" />
        <table tableName="dept" domainObjectName="Dept" mapperName="DeptMapper" />
    </context>
</generatorConfiguration>

1-6、启动逆向工程

1-6-1、查看启动方式(采用java代码的方式)

image.png

1-6-2、查看示例代码

image.png

1-6-2、编写测试类

image.png

可以看到最基本的增删改查方法已经实现 image.png