zoukankan      html  css  js  c++  java
  • springboot整合mybatis增删改查(三):mybatis逆向工程

    上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合。

    我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够的,下面我们要完善相关依赖

    首先建立test1数据库,创建一个简单的user表

    DROP TABLE IF EXISTS `user`;
    CREATE TABLE `user` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `username` varchar(255) DEFAULT NULL COMMENT '用户名',
      `age` varchar(255) DEFAULT NULL COMMENT '年龄',
      `city` varchar(255) DEFAULT NULL COMMENT '城市',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;
    
    
    INSERT INTO `user` VALUES ('1', '张三', '22', '上海');
    INSERT INTO `user` VALUES ('2', '李四', '25', '阜阳');
    

    完善pom.xml

    添加Druid数据库连接池依赖

    <dependency>
               <groupId>com.alibaba</groupId>
               <artifactId>druid-spring-boot-starter</artifactId>
               <version>1.1.10</version>
    </dependency>
    <!--MyBatis逆向工程-->
            <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>1.3.6</version>
            </dependency>
    

    添加逆向工程插件

    <plugin>
              <groupId>org.mybatis.generator</groupId>
              <artifactId>mybatis-generator-maven-plugin</artifactId>
              <version>1.3.2</version>
              <configuration>
              <verbose>true</verbose>
               <overwrite>true</overwrite>
               </configuration> 
    </plugin>
    

    下面就是对application.properties的配置了

    application.properties

    #服务器
    server.port=8080
    server.servlet.context-path=/
    
    #热部署
    spring.devtools.remote.restart.enabled=true
    spring.devtools.restart.additional-paths=springboot-mybatis/src/main
    
    ## 数据库连接配置
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/test1?characterEncoding=utf-8
    spring.datasource.username=root
    spring.datasource.password=1234
    
    #默认编码配置
    spring.http.encoding.charset=UTF-8
    spring.http.encoding.force=true
    spring.http.encoding.enabled=true
    server.tomcat.uri-encoding=UTF-8
    
    ## MyBatis相关配置
    mybatis.type-aliases-package=com.jiangfeixiang.springbootswgger2api.entity
    mybatis.mapper-locations=mapper/*.xml
    

    上面这些都很简单,这里不做过多解释。

    下面是最重要的一个配置generatorConfig.xml用于生成对应的实体类,mapper.xml映射以及mapper接口

    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>
    
    
        <!--指定数据库的jdbc驱动jar包的位置-->
        <classPathEntry location="D:\mavenrepository\mavenrepository\repo\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar"/>
    
        <context id="DB2Tables" targetRuntime="MyBatis3">
    
            <!--是否在代码中显示注释-->
            <commentGenerator>
                <property name="suppressDate" value="true"/>
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
    
            <!--数据库链接地址账号密码-->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/test1?characterEncoding=UTF-8"
                            userId="root"
                            password="1234">
            </jdbcConnection>
    
            <!--生成pojo类存放位置-->
            <javaModelGenerator targetPackage="com.example.springbootmybatis.entity" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            <!--生成xml映射文件存放位置-->
            <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
            <!--生成mapper类存放位置-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.springbootmybatis.mapper" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
    
            <!--生成对应表及类名-->
            <table tableName="user" domainObjectName="User" enableCountByExample="true"
                   enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true"
                   selectByExampleQueryId="true">
            </table>
        </context>
    </generatorConfiguration>
    

    相关说明已经在注释里写出

    • 主要几个配置说明
    1. 指定数据库的jdbc驱动jar包的位置
    <classPathEntry location="D:\mavenrepository\mavenrepository\repo\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar"/>
    

    这个是您本地mysql jar的位置可以参考如下选择
    mysqljar路径
    2. targetPackage:是你工程中对应包的路径
    targetProject:是这个包在java还是在resources目录下,要是java目录下就是src/main/java,resources目录下就是src/main/resources
    3. tableName:是数据库中表的名字;
    domainObjectName:是对应实体类的名字

    上面完成之后接下来就是利用插件一键生成对应数据了,参考下图:

    逆向工程自动生成.png
    成功之后可以看到entity包,mapper包等生成对应的数据了

  • 相关阅读:
    http请求
    git常用命令总结
    tomcat与iis公用80端口(已经发布.net项目现在开发Java项目时tomcat在eclipse中localhost:8080打不开问题)
    使用EasyUI的Datagrid的Editor进行行编辑,Enter回车结束编辑,并开启新的一行。
    js生成tree形组织机构下拉框
    ajaxFileUpload上传带参数,返回值改成json格式
    企业微信自建应用移动端动态获取li并给其事件问题总结
    easyui_validatebox常用验证
    常见的hash算法。。
    自己改编的布隆选择器。。
  • 原文地址:https://www.cnblogs.com/smfx1314/p/10334332.html
Copyright © 2011-2022 走看看