zoukankan      html  css  js  c++  java
  • MybatisPlus学习笔记7:插件的配置

    MP提供了很多好用的插件,而且配置简单,使用方便。接下来一起看看MP的插件如何使用。

    1、分页插件:

    之前就有说到,BaseMapper的selectPage方法和AR提供的selectPage方法都不是物理分页,需要配置分页插件后才是物理分页,那么现在就来看看如何配置这个插件。
    在sqlSessionFactory这个bean中,通过配置插件,接下来的所有插件都配置在这个list中。

    <!-- 3、配置mybatisplus的sqlSessionFactory -->
        <bean id="sqlSessionFactory" class=
                           "com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource" />
            <property name="configLocation" value="classpath:mybatis-config.xml"/>
            <property name="typeAliasesPackage" value="com.zhu.mybatisplus.entity"/>
            <!-- 注入全局配置 -->
            <property name="globalConfig" ref="globalConfiguration"/>
            <!-- 配置插件 -->
            <property name="plugins">
                <list>
                    <!-- 分页插件 -->
                    <bean class="com.baomidou.mybatisplus.plugins.PaginationInterceptor"/>
                </list>
            </property>
        </bean>
    

    或者放在mybatis-config.xml中进行配置

    @Test
        public void testPage() {
            //配置了分页插件后,还是和以前一样的使用selectpage方法,
            //但是现在就是真正的物理分页了,sql语句中有limit了
            Page<Employee> page = new Page<>(1, 2);
            List<Employee> employeeList =
                    emplopyeeDao.selectPage(page, null);
            System.out.println(employeeList);
            System.out.println("================= 相关的分页信息 ==================");
            System.out.println("总条数:" + page.getTotal());
            System.out.println("当前页码:" + page.getCurrent());
            System.out.println("总页数:" + page.getPages());
            System.out.println("每页显示条数:" + page.getSize());
            System.out.println("是否有上一页:" + page.hasPrevious());
            System.out.println("是否有下一页:" + page.hasNext());
            //还可以将查询到的结果set进page对象中
            page.setRecords(employeeList);
        }
    

    物理分页:

    也可以通过page调用相关方法获取到相关的分页信息,而且还可以把查询到的结果set回page对象中,方便前端使用。

    2、性能分析插件

    在plugin的list中添加如下bean即可开启性能分析插件:

    <!-- 输出每条SQL语句及其执行时间,生产环境不建议使用该插件 -->
     <bean class="com.baomidou.mybatisplus.plugins.PerformanceInterceptor">
            <property name="format" value="true"/><!-- 格式化SQL语句 -->
            <property name="maxTime" value="1000"/><!-- sql执行时间超过value值就会停止执行,
                                                       单位是毫秒 -->
     </bean>
    

    这个性能分析插件配置了两个属性,
    第一个是格式化sql语句,设置为true后,sql语句格式就像上面的截图中的一样;
    第二个属性是sql语句执行的最大时间,超过value值就会报错,这里表示超过1000毫秒就会停止执行sql语句。

    3、执行分析插件

    <!-- 如果是对全表的删除或更新操作,就会终止该操作 -->
    <bean class="com.baomidou.mybatisplus.plugins.SqlExplainInterceptor">
           <property name="stopProceed" value="true"/>
    </bean>
    

    这个插件配置了一个属性,stopProceed设置为true后,如果执行的是删除表中全部内容,那就会抛出异常,终止该操作。
    该插件主要是防止手抖误删数据。

    @Test
    public void testSqlExplain(){
            //条件为null,就是删除全表,执行分析插件会终止该操作
        emplopyeeDao.delete(null);
    }
    

  • 相关阅读:
    Window如何查看cpu核数,更改CPU开启的核数?
    Mysql5.6.47开放远程访问(修改远程访问密码)
    CentOS7.6新增或修改SSH端口号的步骤
    虚拟机下安装Centos设置静态ip,并通过桥接连接
    windows下安装mysql5.6.47版本
    微软官方安装介质Windows10系统安装教程
    【测试编码URI的函数】
    【JavaScript函数】
    【JavaScript运算符与表达式】
    【JavaScript声明变量的规则】
  • 原文地址:https://www.cnblogs.com/xidianzxm/p/12607468.html
Copyright © 2011-2022 走看看