• SpringBoot整合Mybatis逆向工程


    相信学过SSM框架的小伙伴们都知道SSM因为其复杂而繁琐的配置文件二令无数人望而却步,很多时候我们一天写几个功能点,而修改一天的bug,而且很多bug都是那些及其细微的知识点、错误。因此。为了简化框架的初始搭建过程,便诞生了SpringBoot。学过Spring的小伙伴都知道Spring的两大核心特性就是控制反转与面向切面编程,而SpringBoot的重要特性就是开箱即用以及约定大于配置。话不多说,现在进入本次博客的主题,在SpringBoot项目中整合Mybatis逆向工程。
    有点项目经验的小伙伴就知道,我们在做项目的时候,手撸代码创建pojo实体类文件以及Dao持久化文件以及mapper配置文件是一件及其重复繁琐的事情,虽然它很简单,但是及其繁琐而费时间,尤其是当数据库中的表文件及其繁琐的时候,这项任务简直是对人的考验,所以我们就向直接利用Mybatis逆向工程自动生成pojo实体类文件以及mapper接口与配置文件。具体步骤如下所示.

    1.创建SpringBoot项目

    首先第一步当然是创建SpringBoot项目,打开IDEA,在菜单栏选择文件,然后依次选择新建项目,接下来在弹出的对话框中选择Spring Initializr,依次按照自己的需求修改名称,位置,软件包等情况。具体如下图所示:
    另外,需要注意的是,我们最好是修改服务器的URL地址为阿里云地址,这样创建SpringBoot项目的速度会更快
    在这里插入图片描述
    点击下一步后将Web依赖项中的Spring Web添加到项目的依赖项中即可!选择完成则创建SpringBoot项目结束。
    在这里插入图片描述

    2.在pom.xml导入mybatis所需要的依赖

    要想将SpringBoot与Mybatis整合,我们必须导入MySQL驱动以及Mybatis整合springboot的起步依赖,具体如下所示:

    
            <dependency>
                <groupId>mysqlgroupId>
                <artifactId>mysql-connector-javaartifactId>
                <version>8.0.29version>
            dependency>
    
            <dependency>
                <groupId>org.mybatis.spring.bootgroupId>
                <artifactId>mybatis-spring-boot-starterartifactId>
                <version>2.1.1version>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    这里的mysql驱动的版本最好与mysql数据库的版本一致,否则可能会出问题。
    查看mysql版本的方法如下所示:
    同时按下键盘Win+R,输入cmd打开命令行窗口,在里面输入命令

    mysql -u root -p
    
    • 1

    然后输入root登录的密码,登录进入mysql数据库,登录后输入

    select version();
    
    • 1

    即可查看对应的mysql版本号!
    如下所示:
    在这里插入图片描述

    3.导入mybatis代码自动生成插件

    这里直接将自动生成的插件导入pom,xml中即可,方便我们最后双击插件生成我们所需要实体类以及mapper文件,具体代码如下所示:
    注意:这一段代码需要粘贴进入plugins标签中。

    
                <plugin>
                    <groupId>org.mybatis.generatorgroupId>
                    <artifactId>mybatis-generator-maven-pluginartifactId>
                    <version>1.3.6version>
                    <configuration>
                        <configurationFile>GeneratorMapper.xmlconfigurationFile>
                        <verbose>trueverbose>
                        <overwrite>trueoverwrite>
                    configuration>
                plugin>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    从上述配置文件我们可以看出,mybatis逆向工程真正起作用的文件是上面写的GeneratorMapper.xml,因此,我们就需要在项目的路径下,即springboot-mybatis下创建其对应的文件GeneratorMapper.xml。
    在这里插入图片描述

    4.创建数据库及其表结构

    打开你的数据库图形界面,我使用的是SQLyog,创建一个springboot的数据库,输入以下代码,从而来创建一个student表结构,并导入一些值进入。具体sql语句如下所示:

    CREATE TABLE student(
    	id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	NAME VARCHAR(20) NULL,
    	age INT(10) NULL
    )# 创建student表
    INSERT INTO student(NAME ,age)
    VALUES('zhangsan',22),
    ('lisi',21),
    ('wangwu',22),
    ('dog',21);
    # 插入一定一定的数据
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    5.修改GeneratorMapper.xml配置文件

    这里只需要按照自己的实际情况修改文件即可。主要包括修改JDBC数据库驱动路径,配置数据库的基本信息(用户名与密码),以及实体类以及mapper接口与配置文件生成的项目地址以及包地址,最后还包括一个表名与实体类的一个映射关系,具体的都如下面的注释所示,读者只需要根据注释修改即可。

    
    DOCTYPE generatorConfiguration
            PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
            "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration>
    
        <classPathEntry location="D:\Maven\maven_repository\mysql\mysql-connector-java\8.0.29\mysql-connector-java-8.0.29.jar"/>
        <context id="tables" targetRuntime="MyBatis3">
    
            <commentGenerator>
                <property name="suppressAllComments" value="true" />
            commentGenerator>
    
            <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/springboot?nullCatalogMeansCurrent=true"
                            userId="root"
                            password="123456">
            jdbcConnection>
    
            <javaModelGenerator targetPackage="com.xing.mybatis.model"
                                targetProject="src/main/java">
                <property name="enableSubPackages" value="false" />
                <property name="trimStrings" value="false" />
            javaModelGenerator>
    
            <sqlMapGenerator targetPackage="com.xing.mybatis.mapper"
                             targetProject="src/main/java">
                <property name="enableSubPackages" value="false" />
            sqlMapGenerator>
    
            <javaClientGenerator type="XMLMAPPER"
                                 targetPackage="com.xing.mybatis.mapper" targetProject="src/main/java">
                <property name="enableSubPackages" value="false" />
            javaClientGenerator>
    
    
            <table tableName="student" domainObjectName="Student"
                   enableCountByExample="false"
                   enableUpdateByExample="false"
                   enableDeleteByExample="false"
                   enableSelectByExample="false"
                   selectByExampleQueryId="false"/>
        context>
    generatorConfiguration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    6.生成文件

    1.利用插件生成

    网上有很多人喜欢用代码生成,而我喜欢直接双击插件生成,具体步骤如下所示;
    在idea右侧找到Maven --> 工程名 --> Plugins --> mybatis-generator --> mybatis-generator:generate,双击mybatis-generator:generate即可自动生成。

    2.利用Java代码生成

    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    //指定 逆向工程配置文件
    File configFile = new File("GeneratorMapper.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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    7.结果展示

    双击运行成功后的效果如下所示:
    在这里插入图片描述
    同时可以看见项目栏下面多了两个包文件,分别为mapper以及model实体类文件,如下所示:
    在这里插入图片描述

  • 相关阅读:
    深度学习 opencv python 公式识别(图像识别 机器视觉) 计算机竞赛
    7 月最新编程排行榜:万年不变的前三,啥时候能是头?
    图像处理技术与应用(二)
    如何把一个空项目变成SpringBoot项目
    一起Talk Android吧(第四百零六回:管理画布canvas)
    十一、【React-Router6】Hooks 汇总
    df和du命令—查看磁盘和文件大小
    7.idea 使用 docker 构建 spring boot 项目
    一步步制作下棋机器人之 coppeliasim进行Scara机械臂仿真与python控制
    NoSQL之redis数据库配置与优化(部署与常用命令)
  • 原文地址:https://blog.csdn.net/qq_51447436/article/details/126395645