mybatis学习mybatis的逆向工程(代码片段)

南淮北安 南淮北安     2022-12-04     437

关键词:

清新简洁版 MyBatis3Simple:生成基本的CRUD
奢华尊享版 MyBatis3: 生成带条件的CRUD

正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程
的。

逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源:

  • Java实体类
  • Mapper接口
  • Mapper映射文件

文章目录

一、添加依赖和插件

<!-- 依赖MyBatis核心包 -->
    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
        <!-- junit测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!-- MySQL驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.3</version>
        </dependency>

        <!-- log4j日志 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.2.0</version>
        </dependency>
    </dependencies>

    <!-- 控制Maven在构建过程中相关配置 -->
    <build>

        <!-- 构建过程中用到的插件 -->
        <plugins>

            <!-- 具体插件,逆向工程的操作是以构建过程中插件形式出现的 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.0</version>

                <!-- 插件的依赖 -->
                <dependencies>

                    <!-- 逆向工程的核心依赖 -->
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.2</version>
                    </dependency>

                    <!-- 数据库连接池 -->
                    <dependency>
                        <groupId>com.mchange</groupId>
                        <artifactId>c3p0</artifactId>
                        <version>0.9.2</version>
                    </dependency>

                    <!-- MySQL驱动 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.8</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

二、创建MyBatis的核心配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <properties resource="jdbc.properties"/>

    <typeAliases>
        <package name="com.atguigu.mybatis.pojo"/>
    </typeAliases>

    <plugins>
        <!--设置分页插件-->
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="$jdbc.driver"/>
                <property name="url" value="$jdbc.url"/>
                <property name="username" value="$jdbc.username"/>
                <property name="password" value="$jdbc.password"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <package name="com.atguigu.mybatis.mapper"/>
    </mappers>
</configuration>
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root

三、创建逆向工程的配置文件

文件名必须是:generatorConfig.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>
    <!--
            targetRuntime: 执行生成的逆向工程的版本
                    MyBatis3Simple: 生成基本的CRUD(清新简洁版)
                    MyBatis3: 生成带条件的CRUD(奢华尊享版)
     -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <!-- 数据库的连接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test"
                        userId="root"
                        password="root">
        </jdbcConnection>
        <!-- javaBean的生成策略,实体类的生成策略-->
        <javaModelGenerator targetPackage="com.atguigu.mybatis.pojo" targetProject=".\\src\\main\\java">
            <!-- 是否生成子包,即点之后的文件,比如com.yolo,就会形成文件夹com下的yolo,否则就直接是一个文件夹com.yolo-->
            <property name="enableSubPackages" value="true" />
            <!--自动去掉字符串前后的空格-->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- SQL映射文件的生成策略 -->
        <sqlMapGenerator targetPackage="com.atguigu.mybatis.mapper"  targetProject=".\\src\\main\\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- Mapper接口的生成策略 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mybatis.mapper"  targetProject=".\\src\\main\\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 逆向分析的表 -->
        <!-- tableName设置为*号,可以对应所有表,此时不写domainObjectName -->
        <!-- domainObjectName属性指定生成出来的实体类的类名 -->
        <table tableName="stu" domainObjectName="Student"/>
        <table tableName="class" domainObjectName="StuClass"/>
    </context>
</generatorConfiguration>

四、执行MBG插件的generate目标

五、测试

(1)根据条件查询所有

(2)根据条件查询

(3)根据主键修改数据


mybatis学习笔记——mybatis的逆向工程(代码片段)

12、MyBatis的逆向工程正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源:Java实体类M... 查看详情

学习mybatis(代码片段)

...数据库环境配置属性设置设置setting类型别名其它配置项逆向工程创建逆向工程使用逆向工程动态SQLMyBatis查询一对一关联查询一对多关联查询多对多关联查询分页查询方案一:使用Page工具类方案二:使用RowBounds插件延迟加载(La... 查看详情

mybatis学习笔记(代码片段)

文章目录1.MyBatis简介1.1MyBatis历史1.2MyBatis特性1.3和其它持久化层技术对比2.搭建MyBatis2.1开发环境2.2创建maven工程2.3创建MyBatis的核心配置文件2.4创建mapper接口2.5创建MyBatis的映射文件2.6通过junit测试功能2.7加入log4j日志功能3.核心配置... 查看详情

学习mybatis(代码片段)

...数据库环境配置属性设置设置setting类型别名其它配置项逆向工程创建逆向工程使用逆向工程动态SQLMyBatis查询一对一关联查询一对多关联查询多对多关联查询分页查询方案一:使用Page工具类方案二:使用RowBounds插件延迟加载(La... 查看详情

mybatis专题-----mybatis源码学习

源码分析概述源码包分析下载地址MyBatis源码下载地址:https://github.com/mybatis/mybatis-3导入过程1.下载MyBatis的源码2.检查maven的版本,必须是3.25以上,建议使用maven的最新版本3.mybatis的工程是maven工程,在开发工具中导入,工程必须... 查看详情

mybatis学习记录

分三部分记录,MyBatis,MyBatisSpring和MybatisGenerator。这一片记录MyBatis的一些学习心得。基本概念SqlSession:创建查询使用的是SqlSession,叫做Session,实际上也是维护了一个数据库的连接,内部通过Connection对象连接数据库。SqlSessionFac... 查看详情

小白的mybatis逆向工程

MyBatis逆向工程 MyBatis逆向工程,简称MBG。是一个专门为MyBatis框架使用者定制的代码生成器。可以快速的根据数据库表生成对应的映射文件,接口,以及Bean类对象。在Mybatis中,有一个可以自动对单表生成的增,删,改,查代... 查看详情

mybatis逆向工程的pojo实现序列化接口的代码

...序列化传输。报错如下:  但是很麻烦的一件事是如果逆向工程生成的pojo全部自己实现序列化会很麻烦,所以看了一下mybatis的插件,发现有 查看详情

mybatis学习系列四--mybatisgenerator逆向工程

采用命令行方式执行逆向工程 1、配置文件generatorConfig.xml保存在目录:D:Eworkspaceeclipsemybatis_generator<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfiguration PUBLIC"-//mybatis.org//DTDMy 查看详情

mybatis逆向工程

...表很多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml,mapper.java,po),一般在开发中,常用的逆向工程方式是通过数据库的表生存代码。   新建... 查看详情

mybatis逆向工程与走过的坑!!(代码片段)

...batis+mysql的整合项目(自己测试玩)的时候用到了mybatis的逆向工程,来这里记录一下我的菜鸟编码过程 首先我在maven中引入这些依赖<dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis- 查看详情

mybatis的逆向工程

由数据库的表生成代码,然后生成代码配置文件,指定mubatis表,再执行生成程序。接下来我们的项目连接数据库可能要用到,看了很多代码,感觉一知半解,继续努力~<!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTDMyBatisGeneratorCon... 查看详情

mybatis逆向工程(代码片段)

Mybatis逆向工程mybatis逆向工程是一个可以快速根据数据库表帮我们生成pojo实体类和mapper接口和mapper映射文件的一个插件,需要下载该项目。注意:只支持单表操作(单表的增删改查等sql可以帮助我们生成),... 查看详情

mybatis-plus逆向生成代码(代码片段)

MyBatis-Plus逆向生成代码MyBatis-Plus插件,是国产的MyBatis框架的快速开发插件。其groupId是baomidou。功能是基于已存在的数据库表格,逆向生成Java代码,包括不限于:实体类型,Mapper接口,服务Service,控制器Controller。类似的插件框... 查看详情

mybatis-plus逆向生成代码(代码片段)

MyBatis-Plus逆向生成代码MyBatis-Plus插件,是国产的MyBatis框架的快速开发插件。其groupId是baomidou。功能是基于已存在的数据库表格,逆向生成Java代码,包括不限于:实体类型,Mapper接口,服务Service,控制器Controller。类似的插件框... 查看详情

使用mybatis的逆向工程自动生成代码(代码片段)

1、逆向工程的作用Mybatis官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml、Mapper.java、pojo)。2、逆向工程的使用方法逆向工程需要的jar包如下图所示:也可以直接下载我Github上面的源代码... 查看详情

mybatis框架---mybatis逆向工程

mybatis逆向工程?逆向工程的目的就是缩减了我们的开发时间。所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo、mapper以及mapper.xml。接下来就是项目搭建过程。github源码:mybatis逆向工程代码一、pom.xml文件<... 查看详情

springboot整合mybatis-plus逆向工程(代码片段)

MyBatis-Plus(简称MP)是一个?MyBatis?的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。官方文档代码生成器AutoGenerator是MyBatis-Plus的代码生成器,通过AutoGenerator可以快速生成Entity、Mapper、MapperXML、Service... 查看详情