MyBatis-Plus分页插件和MyBatisX插件
- 六、插件
 - 1、分页插件
 - a>添加配置类
 - b>测试
 
- 八、代码生成器
 - 1、引入依赖
 - 2、快速生成
 
- 十、MyBatisX插件
 - 1、新建spring boot工程
 - a>引入依赖
 - b>配置application.yml
 - c>连接MySQL数据库
 - d>MybatisX逆向生成
 
- 2、MyBatisX快速生成CRUD
 
申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计10418字,阅读大概需要3分钟
更多学习内容, 欢迎关注我的个人公众号:不懂开发的程序猿
相关阅读:
MyBatis-Plus入门案例
MyBatis-Plus基本CRUD
 
六、插件
1、分页插件
MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能
a>添加配置类
@MapperScan("com.jerry.mybatisplus.mapper")
@Configuration
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}
 
b>测试
    @Test
    public void testPage(){
        //设置分页参数
        Page<User> page = new Page<>(1, 5);
        userMapper.selectPage(page, null);
        //获取分页数据
        List<User> records = page.getRecords();
        records.forEach(System.out::println);
        System.out.println("当前页:"+page.getCurrent());
        System.out.println("每页显示的条数:"+page.getSize());
        System.out.println("总记录数:"+page.getTotal());
        System.out.println("总页数:"+page.getPages());
        System.out.println("是否有上一页:"+page.hasPrevious());
        System.out.println("是否有下一页:"+page.hasNext());
    }
 
八、代码生成器
1、引入依赖
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>
 
2、快速生成
package com.jerry.mybatisplus;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
/**
 * ClassName: FastAutoGeneratorTest
 * Package: com.jerry.mybatisplus
 * Description:
 *
 * @Author jerry_jy
 * @Create 2023-02-10 16:39
 * @Version 1.0
 */
public class FastAutoGeneratorTest {
    public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/mybatis_plus?characterEncoding=utf-8&userSSL=false", "root", "root")
                        .globalConfig(builder -> {
                            builder.author("jerry") // 设置作者
                            //.enableSwagger() // 开启 swagger 模式
                                    .fileOverride() // 覆盖已生成文件
                                    .outputDir("D://mybatis_plus"); // 指定输出目录
                        })
                        .packageConfig(builder -> {
                            builder.parent("com.jerry") // 设置父包名
                                    .moduleName("mybatisplus") // 设置父包模块名
                                    .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://mybatis_plus"));// 设置mapperXml生成路径
                        })
                        .strategyConfig(builder -> {
                            builder.addInclude("user") // 设置需要生成的表名
                                    .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                        })
                        .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                        .execute();
    }
}
 
十、MyBatisX插件
MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率 但是在真正开发过程中,MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表 联查,我们就需要自己去编写代码和SQL语句,我们该如何快速的解决这个问题呢,这个时候可 以使用MyBatisX插件 MyBatisX一款基于 IDEA 的快速开发插件,为效率而生。
1、新建spring boot工程
a>引入依赖
pom.xml
<?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 https://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.7.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.jerry</groupId>
    <artifactId>mybatisplus</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mybatisplus</name>
    <description>mybatisplus</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
 
b>配置application.yml
spring:
  # 配置数据源信息
  datasource:
    # 配置数据源类型
    type: com.zaxxer.hikari.HikariDataSource
    # 配置连接数据库的各个信息
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
 
c>连接MySQL数据库
(E:/typora/image-20230210173113435.png)]
填好【用户名】、【密码】、【数据库名字】
d>MybatisX逆向生成

填好【模块路径】、【包名】、【实体类名】


2、MyBatisX快速生成CRUD
package com.jerry.mybatisplusx.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jerry.mybatisplusx.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Admin
* @description 针对表【user】的数据库操作Mapper
* @createDate 2023-02-10 17:32:51
* @Entity com.jerry.mybatisplusx.pojo.User
*/
public interface UserMapper extends BaseMapper<User> {
    int insertSelective(User user);//增
    int deleteByIdAndName(@Param("id") Long id, @Param("name") String name);//删
    int updateAgeAndSexById(@Param("age") Integer age, @Param("sex") Integer sex, @Param("id") Long id);//改
    List<User> selectAgeAndSexByAgeBetween(@Param("beginAge") Integer beginAge, @Param("endAge") Integer endAge);//查
    List<User> selectAllOrderByAgeDesc();//排序
}
 

 –end–
![学习open62541 --- [74] 软链接的妙用](https://img-blog.csdnimg.cn/aac2ed0438e0412d9f51ab52197b2627.png#pic_left)






![[SSD固态硬盘技术 0] SSD的结构和原理导论](https://img-blog.csdnimg.cn/img_convert/149265d1ca124478a13b89583dcb51a0.webp?x-oss-process=image/format,png)

![[LeetCode 1138]字母板上的路径](https://img-blog.csdnimg.cn/107e2cfdb4ac4bbcab58938efa82fe10.png)









