首页 > 其他分享 >Mybatis扩展

Mybatis扩展

时间:2024-08-14 17:08:30浏览次数:8  
标签:xml mapper 插件 分页 文件 扩展 Mybatis com

Mybatis扩展

1.批量扫描mapper

在之前每创建一个mapper,就需要在mybatis-config.xml 文件中,注册该mapper。

<mappers>
    <mapper resource="mapper/EmployeeMapper.xml"/>
</mappers>

可以在mappers标签中使用package标签,进行包扫描

<mappers>
    <package name="com.ztone.mapper"/>
</mappers>

这样每次在com.ztone.mapper 包下创建mapper就不用注册了

这种方式的要求:

  • mapper 的xml文件和接口文件命名必须xiangtong

  • 最终打包后的位置要一致,也就是都在 com.ztone.mapper 下,想要保证这点有两种方式

    • 将xml文件放在java下的包中,与接口放在一个地方,但是需要在mybatis-config中设置maven的打包配置,否则xml文件不会打包

      <build>
          <resources>
              <resource>
                  <directory>src/main/java</directory>
                  <includes>
                      <include>**/*.*</include>
                  </includes>
              </resource>
          </resources>
      </build>
    • 第二种方式就是在 resources文件夹下创建与 接口存放位置相同的包,也就是com.ztone.mapper

      这里需要注意:在resources文件下创建文件夹,分层时不能用 ” . “ 分隔,需要用 ” / “ 分隔

 

 

2.PageHelper分页插件

在sql中进行分页,需要用limit 关键字

select * from user limit 0,2;

从第0个开始查询,每一页展示两个

使用插件,不需要自己写 limit,要求是不能用 ” ; “ 结尾,因为limit会加在分号后面,导致sql错误

 

步骤:

  1. 引入pagehelper 依赖

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>5.1.11</version>
    </dependency>
  2. 在mybatis-config.xml 文件中配置分页插件

    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <property name="helperDialect" value="mysql"/>
        </plugin>
    </plugins>
  3. 使用

    先设置分页数据调用PageHelper的 startPage() 方法

    然后执行查询语句,返回结果后,将查询数据封装到一个PageInfo的分页实体类中

    public void test_02(){
        EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
        PageHelper.startPage(2,2);
        List<Employee> employees = mapper.queryAll();
        PageInfo<Employee> pageInfo = new PageInfo<>(employees);
        //当前页的数据
        List<Employee> list = pageInfo.getList();
        //获取总页数
        int pages = pageInfo.getPages();
        //获取总条数
        long total = pageInfo.getTotal();
    }

    需要注意的是:不能将两条查询装到一个 分页区

     

3.逆向工程

自动生成单表的实体类、接口文件、接口的xml文件

用到的 插件是 MybatisX

标签:xml,mapper,插件,分页,文件,扩展,Mybatis,com
From: https://www.cnblogs.com/wztblogs/p/18359339

相关文章

  • 在Centos系统源码安装postgreSQL数据库及postGIS扩展
    本次安装的各版本如下postgresql-13.5.targeos-3.10.2gdal-3.4.1proj-8.2.1postgis-3.2.1一、安装postgreSQL1.1安装包下载地址选postgresql-13.5.tar.gz。使用工具将下载好的包传到服务器。解压,进入解压目录[root@localhostlocal]#yuminstallgccreadline-develzlib-d......
  • Mybatis动态sql
    Mybatis动态sql在创建sql语句时,有时会遇到传入的参数为空的问题,也就是某些条件有时候不取值。这时就可以用动态sql来创建sql语句,不用自己拼接sql语句。1.if和where标签在sql语句条件外面包一层if标签,if标签的属性test可以进行判断,当判断为true后才会把标签内部的条件拼......
  • 如何获取VS Code扩展的版本更新信息
    获取VSCode扩展的版本更新的需求因为企业内部有架设私有扩展管理器的要求,但是对于一些官方市场的插件,希望可以自动获取这些扩展的更新并上传至私有扩展管理器。于是就有了本篇介绍的需求:通过API的方式获取VSCode扩展的更新。关于VSCode的私有扩展管理器可以参考:VS......
  • springboot+vue+mybatis计算机毕业设计汉服商城网站+PPT+论文+讲解+售后
    本系统为用户而设计制作“梦回汉唐”汉服商城网站,旨在实现“梦回汉唐”汉服商城网站智能化、现代化管理。本“梦回汉唐”汉服商城网站自动化系统的开发和研制的最终目的是将“梦回汉唐”汉服商城网站的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提......
  • MyBatis从入门到面试:超全
    MyBatis从入门到面试MyBatis启动!!!1.引入依赖<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.13</version><!--版本号可以根据需要进行调整--></dependency>1.配置文件首先,我们需......
  • MyBatis基本流程
    MyBatis基本流程基本使用步骤准备数据CREATEDATABASE`mybatis-example`;​USE`mybatis-example`;​CREATETABLE`t_emp`(emp_idINTAUTO_INCREMENT,emp_nameCHAR(100),emp_salaryDOUBLE(10,5), PRIMARYKEY(emp_id));​INSERTINTO`t_emp`(emp_na......
  • Mybatis基本使用
    Mybatis基本使用1.日志输出在mybatis-config.xml中的settings标签配置mybatis的设置项<settings>  <settingname="logImpl"value="STDOUT_LOGGING"/></settings>设置日志的属性是logImpl,其候选值有SLF4J、LOG4J、LOG4J2、STDOUT_LOGGING、NOLOGGING等 2.......
  • C# Sql帮助类,可扩展
    [System.AttributeUsage(AttributeTargets.Class|AttributeTargets.Struct,Inherited=false,AllowMultiple=false)]publicclassDbTableAttribute:Attribute{publicstringName{get;set;}publicstring......
  • 用了MyBatis-PLUS的项目 如何优雅的打印SQL
    说明在使用MyBatis-Plus作为ORM框架的时候,会发现默认的日志输出是下面这样的:在参数少并且SQL简单的情况下,这样的SQL我们能通过手动去替换占位符,来获取到真正执行的SQL。但是如果是比较复杂的SQL,或者查询参数比较多的话,一个个替换就比较费时费力了。我们可以通过实现com.baomid......
  • mybatis插件实现sql修改
    packagecom.xf.config;importjava.sql.Connection;importjava.util.Properties;importorg.apache.ibatis.executor.statement.StatementHandler;importorg.apache.ibatis.mapping.BoundSql;importorg.apache.ibatis.plugin.Interceptor;importorg.apache.ibati......