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

Mybatis-Plus--环境准备与测试

程序员文章站 2024-01-08 16:53:04
...

官网地址:https://mybatis.plus/guide/install.html#release

1. 创建一个Maven工程,并引入如下依赖

	<?xml version="1.0" encoding="UTF-8"?>
	
	<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>org.example</groupId>
    <artifactId>mybatis_plus</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>

        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!--lombok用来简化实体类-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>

        <!--swagger-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>


2.创建数据库,并添加数据

Mybatis-Plus--环境准备与测试

3. 在test下创建代码生成器

Mybatis-Plus--环境准备与测试
代码如下,复制粘贴修改即可:

    import com.baomidou.mybatisplus.annotation.DbType;
	import com.baomidou.mybatisplus.annotation.IdType;
	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.DateType;
	import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
	import org.junit.jupiter.api.Test;

    public class CodeGenerator {

    	@Test
	    public void run() {
	
	        // 1、创建代码生成器
	        AutoGenerator mpg = new AutoGenerator();
	
	        // 2、全局配置
	        GlobalConfig gc = new GlobalConfig();
	        String projectPath = System.getProperty("user.dir");
	        gc.setOutputDir("G:\\Desktop\\IdeaWorkSpace\\Mybatis-Plus"+"/src/main/java");
	
	        gc.setAuthor("test");
	        gc.setOpen(false); //生成后是否打开资源管理器
	        gc.setFileOverride(false); //重新生成时文件是否覆盖
	
	        //UserService
	        gc.setServiceName("%sService");	//去掉Service接口的首字母I
	
	        gc.setIdType(IdType.ID_WORKER_STR); //主键策略
	        gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
	        gc.setSwagger2(true);//开启Swagger2模式
	
	        mpg.setGlobalConfig(gc);
	
	        // 3、数据源配置
	        DataSourceConfig dsc = new DataSourceConfig();
	        dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8");
	        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
	        dsc.setUsername("root");
	        dsc.setPassword("123456");
	        dsc.setDbType(DbType.MYSQL);
	        mpg.setDataSource(dsc);
	
	        // 4、包配置
	        PackageConfig pc = new PackageConfig();
	        pc.setModuleName("mybatis_plus"); //模块名
	        //包
	        pc.setParent("com.demo");
	        //包
	        pc.setController("controller");
	        pc.setEntity("entity");
	        pc.setService("service");
	        pc.setMapper("mapper");
	        mpg.setPackageInfo(pc);
	
	        // 5、策略配置
	        StrategyConfig strategy = new StrategyConfig();
	
	        strategy.setInclude("user");
	
	        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
	        strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
	
	        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
	        strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
	
	        strategy.setRestControllerStyle(true); //restful api风格控制器
	        strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
	
	        mpg.setStrategy(strategy);
	
	
	        // 6、执行
	        mpg.execute();
	    }
	}

由代码生成器生成如下代码:
Mybatis-Plus--环境准备与测试

4. 创建主启动类

加入@MapperScan注解后,即不需再在每个Mapper上加上@Mapper注解
Mybatis-Plus--环境准备与测试

5. 添加配置文件

Mybatis-Plus--环境准备与测试

6. 添加测试类测试

package com.demo.mybatis_plus;

import com.demo.mybatis_plus.entity.User;
import com.demo.mybatis_plus.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class CodeTest {

    @Resource
    private UserMapper userMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<User> userList = userMapper.selectList(null);
        for ( User user: userList) {
            System.out.println(user);
        }
    }
}

运行结果如下:
Mybatis-Plus--环境准备与测试
测试注意:测试类包名需要与主启动类包名相同,否则运行出错
Mybatis-Plus--环境准备与测试

相关标签: Mybatis_Plus

上一篇:

下一篇: