欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot_2.2.2.RELEASE集成mybatisplus2.x

程序员文章站 2022-03-26 16:52:23
...

这一篇我们讲解如何在springboot下整合mybatisplus,并访问数据库。
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

我们先看下它的图标,感觉非常的有趣,用mybatisplus主要是因为它的方便,配置好数据文件后,运行自动成配置文件,就可以生成controller、service、dao、mapper等文件,不用我们一步步的编写相应的文件,比mybatis编写速度,快了不止一点点,好了,话不多说,直接进入主题。

springboot_2.2.2.RELEASE集成mybatisplus2.x

第一,创建一个springboot项目,这里不再展示,如有需要,可以自行百度,也可私信我。

第二,导入相应的包,如下所示

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- mysql驱动连接 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>

        <!--mybatisplus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis.plus.version}</version>
        </dependency>

        <!-- 模板引擎 mybatisplus自动生成必备 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>${velocity-engine-core-version}</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>

 其中版本的配置如下:

        <mybatis.plus.version>2.3</mybatis.plus.version>
        <mysql.version>8.0.12</mysql.version>
        <fastjson.version>1.2.7</fastjson.version>
        <mybatis.version>3.5.3</mybatis.version>

第三,编写自动生成类CodeGenerator,主要配置编译的路径、数据库的配置、要自动生成的表,具体的代码如下所示:

package com.ygkj.mybatisplus.util;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/**
 * @author hu cong
 * @date 2020/1/17 16:56
 * @Description: 表结构自动转换controller、service、dao、xml类
 */
public class CodeGenerator {

    public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");//取得当前工程文件夹的路径
        gc.setOutputDir(projectPath + "/mybatisplus" + "/src/main/java");//此处我是有父子工程,如果你只是单个工程,只需设置"/src/main/java"即可
        gc.setFileOverride(true);
        gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
        gc.setEnableCache(false);// XML 二级缓存
        gc.setBaseResultMap(true);// XML ResultMap
        gc.setBaseColumnList(false);// XML columList
        gc.setAuthor("hucong");// 作者
        gc.setOpen(false);//自动生成是否打开文件夹

        // 自定义文件命名,注意 %s 会自动填充表实体属性!,如不需要可以不设置
        gc.setControllerName("%sController");
        gc.setServiceName("%sService");
        gc.setServiceImplName("%sServiceImpl");
        gc.setMapperName("%sMapper");
        gc.setXmlName("%sMapper");
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.MYSQL);
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("123456");
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/jfinal");
        mpg.setDataSource(dsc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        // strategy.setTablePrefix(new String[] { "sys_" });// 此处可以修改为你的表前缀
        strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
        strategy.setInclude(new String[] { "user" }); // 需要生成的表

        strategy.setSuperServiceClass(null);
        strategy.setSuperServiceImplClass(null);
        strategy.setSuperMapperClass(null);

        mpg.setStrategy(strategy);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.ygkj.mybatisplus");
        pc.setController("controller");
        pc.setService("service");
        pc.setServiceImpl("service.impl");
        pc.setMapper("dao");
        pc.setEntity("model");
        pc.setXml("xml");
        mpg.setPackageInfo(pc);

        // 执行生成
        mpg.execute();
    }
}

运行就可以生成,美滋滋!!!接下来,你就在controller中编写查询语句了。

第四,application.properties参数

spring.datasource.url=jdbc:mysql://localhost:3306/jfinal?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mybatis-plus.mapper-locations=classpath:com/ygkj/mybatisplus/xml/*.xml

第五,将mapper的xml文件打包到classpath中

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <!--将xml文件打包到classpath中-->
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

注:如果你要使用自定义的sql,而不是使用mybatisplus的类配置语句,那么,你就学要在mapper的接口中,加上@Mapper 注解,即可完成使用,不然会报mapper找不到。

github地址:https://github.com/karill/myspringbootdemo/tree/master/mybatisplus

相关标签: mybatisplus