1.引入依赖

     <!--mysql依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.2.0</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>3.2.0</version></dependency><!--数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency>

2.dev中 编写配置信息

#数据库链接信息datasource:druid:driver-class-name:  com.mysql.cj.jdbc.Driverurl:  jdbc:mysql://localhost:3306/clothing?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8username:  rootpassword:  ZhangFan!!1initial-size:  1min-idle:  1max-active:  20test-on-borrow:  true#扫描mapper包下以Dao.xml结尾的文件
mybatis-plus:mapper-locations: classpath*:mapper/*Dao.xml

3.编写配置类

    1. 在 config 包下创建 MyMybatisPlusConfiguration 类2. 为类增加 @Configuration 和 @MapperScan3. 配置分页插件
package com.zhiyou100.config;import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @author zhangfan* @date 2019/10/9*/
@Configuration  //可替换xml中的配置文件,被注解的类中的方法包含一个或者多个@Bean,相当于把类作为xml文件中的<beans>标签
public class MyMybatisPlusConfiguration {@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false// paginationInterceptor.setOverflow(false);// 设置最大单页限制数量,默认 500 条,-1 不受限制// paginationInterceptor.setLimit(500);return paginationInterceptor;}
}

4.编写实体类(我这个类里已经用了lombok插件)

0.前提数据库表明和实体类名对应,字段和属性符合驼峰命名
1.为类添加注解@TableName
2. 为主键属性增加 @TableId(type = IdType.AUTO) 注解
package com.zhiyou100.demo.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/**管理员信息* @author zhangfan* @date 2019/10/9*/
@Data   //生成tostring和get&&set方法
@NoArgsConstructor  //生成无参构造方法
@AllArgsConstructor //生成全部有参构造方法
@TableName("admin") //写上表名方便映射数据库
public class Admin {@TableId(type = IdType.AUTO)    //说明是主键private Integer id;private String account;private String password;
}

5.编写 dao 接口

1. 继承自 BaseMapper<T> 后就拥有一些简单的增删改查方法https://mp.baomidou.com/guide/crud-interface.html#mapper-crud-%E6%8E%A5%E5%8F%A3
package com.zhiyou100.demo.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhiyou100.demo.entity.Admin;/**管理员登录* @author zhangfan* @date 2019/10/9*/
public interface AdminDao extends BaseMapper<Admin> {/*** 判断账号是否存在* @param account   账号* @return  账号信息*/Admin findAccount(String account);/*** 判断账号和密码是否正确* @param account   账号* @param password  密码* @return  账号信息*/Admin findAccountAndPassword(String account,String password);
}
  1. 自定义方法

         1. 使用 @Param() 指定 mapper 中可以使用的参数名2. 支持分页需要把 IPage<T> page 最为方法的第一个参数
    

比如内置的分页:

 @Testpublic void testFindAll(){//查询全部List<User> users = userRepository.findAll();users.forEach(System.out::println);System.out.println("-------------------------------------");//分页功能//页码(当前是第几页)从0开始Page<User> page = userRepository.findAll(PageRequest.of(0,2));System.out.println("总页数:" + page.getTotalPages());System.out.println("总条数:" + page.getTotalElements());System.out.println("当前页:" + page.getNumber());System.out.println("当前页数据总条数:" + page.getNumberOfElements());System.out.println("数据:" + page.getContent());}@Testpublic void testFindByEmailKeyword(){Page page = new Page(4,2);IPage<User> userPage = userDao.findByEmailKeyword(page,"%com%");System.out.println("当前页:" + userPage.getCurrent());System.out.println("总页数:" + userPage.getPages());System.out.println("页容量:" + userPage.getSize());System.out.println("总条数:" + userPage.getTotal());System.out.println("页内容:" + userPage.getRecords());
}

6.编写 mapper 配置 SQL

    1. 使用 mybatisx 插件可以快速创建和编写 mapper(在dao接口名字上:快捷键Alt+Enter)2. 按照规则定义好的分页方法,不需要我们进行额外的 SQL 操作

maven中使用mybatis-plus相关推荐

  1. 使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)

    逆向工程简介: mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo-),可以让程序员将更多的精力放在繁杂的业务逻 ...

  2. Mybatis在Maven中的应用技巧

    </pre>Maven 有很好的扩展性,常用的mybatis 也有maven插件供程序员使用,下面如何在maven 中使用mybatis generator 自动生成代码及映射文件.< ...

  3. idea mybatis generator插件_在idea中使用mybatis generator逆向工程生成代码

    用maven工具生成mybatis的代码和映射文件. 1.配置pom.xml文件 在pom.xml下添加插件如下: <build> <finalName>zsxt</fi ...

  4. Maven整合SSM框架(maven+spring+springmvc+mybatis)

    啊哈,终于到了用Maven整合SSM这个扑街含家产了.弄了整整一天才跑通.Mybatis的配置有些繁琐,跟之前学习的那个有点出去,加上Eclipse的Spring工具没有弄,配置的时候没有提示被搞蒙圈 ...

  5. 在springboot中使用mybatis generate自动生成实体类和mapper

    1.在全局的pom中引入mybatis generate的依赖 <!--自动生成实体--><dependency><groupId>org.mybatis.gene ...

  6. maven中ssm框架快速搭建

    有不少朋友在maven中因为pom文件依赖的事导致报错 今天我这个快速搭建ssm框架,确保在jdk7或者jdk8的环境,tomcat没什么要求.但如果要用jdk8的话,最好用run as中的serve ...

  7. Maven中dependencyManagement的使用

    本文来说下Maven中dependencyManagement的使用 文章目录 dependencyManagement的使用 dependencyManagement的意义 dependencyMa ...

  8. maven 打包数据库加密_漫画:工作这么多年,你居然不知道 Maven中 Optional 和 Exclusions 的区别?...

    Maven 依赖排除(Exclusions) 因为 Maven 构建项目具有依赖可传递的特性,当你在 pom.xml添加某个依赖时,可能也会引入不需要的依赖到你的项目中,这将会会可能引起如下问题: J ...

  9. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    首页 Android Java 服务器 标签云 作品 关于 赞助列表  <a href="https://github.com/RayeWang" class="f ...

  10. Maven——maven中的 pom和import的作用到底是什么

    1.前言 在微服务的项目中,我们是不是经常在父项目中写一些统一版本的jar包,但是其中很多时候都有如下类似代码的影子,对于下面的代码中pom和type的作用是否明白呢,如果不明白,欢迎看下面的内容. ...

最新文章

  1. Mysql修改设置root密码的命令及方法
  2. Fleury (弗罗莱) 算法通俗解释
  3. 验证用户输入的是不是中文名字 淘宝精品案例 元素样式设置的方式 链式编程
  4. DI 之Spring更多DI的知识
  5. threadsafe_Agrona的Threadsafe堆缓冲区
  6. 计算机网络【五】广播通信+以太网
  7. Web前后端笔记-vue cli及java进行AES加解密
  8. table表格边框样式_如何在CAD创建、导入表格?原来CAD的表格功能这么强大
  9. 中国AI英雄风云榜十位领军人揭晓 | 网易2018中国年度AI领域人物评选
  10. 使用Maven导出war包
  11. 制作自己的Maven镜像,上传Harbor镜像仓库
  12. 【项目】数据仓库概述
  13. SDHC 与SD的区别
  14. C#把excel数据转换成DataTable
  15. DELETE 语句与 REFERENCE 约束“FK_T_score_T_student_number“冲突。
  16. 淘宝装修前需要了解的css小技巧
  17. DNS服务器地址小总结
  18. React 和 Redux
  19. Java socket推送车速到Led屏
  20. 饶毅:中国未来与科学的隐患

热门文章

  1. 使用tesseract识别二维码
  2. 你的华为手机升级EMUI10,电量变得不耐用?那是这3个功能没开吧
  3. JavaScript判断变量是否为空
  4. java 判断一个文件是否存在_java判断某个文件是否存在的方法
  5. 如何在markdown中打出上标、下标和一些特殊符号
  6. webform ajax 表格,在webform中使用ajax
  7. Estrogen-PEG3400-DSPE,雌激素-聚乙二醇-磷脂,DSPE-PEG3400-Estrogen
  8. 其实我们都输给了互联网-《人人创业》
  9. kali定位目标地理位置
  10. 三维人脸有关技术的往昔与展望