maven中使用mybatis-plus
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. 使用 @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相关推荐
- 使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)
逆向工程简介: mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo-),可以让程序员将更多的精力放在繁杂的业务逻 ...
- Mybatis在Maven中的应用技巧
</pre>Maven 有很好的扩展性,常用的mybatis 也有maven插件供程序员使用,下面如何在maven 中使用mybatis generator 自动生成代码及映射文件.< ...
- idea mybatis generator插件_在idea中使用mybatis generator逆向工程生成代码
用maven工具生成mybatis的代码和映射文件. 1.配置pom.xml文件 在pom.xml下添加插件如下: <build> <finalName>zsxt</fi ...
- Maven整合SSM框架(maven+spring+springmvc+mybatis)
啊哈,终于到了用Maven整合SSM这个扑街含家产了.弄了整整一天才跑通.Mybatis的配置有些繁琐,跟之前学习的那个有点出去,加上Eclipse的Spring工具没有弄,配置的时候没有提示被搞蒙圈 ...
- 在springboot中使用mybatis generate自动生成实体类和mapper
1.在全局的pom中引入mybatis generate的依赖 <!--自动生成实体--><dependency><groupId>org.mybatis.gene ...
- maven中ssm框架快速搭建
有不少朋友在maven中因为pom文件依赖的事导致报错 今天我这个快速搭建ssm框架,确保在jdk7或者jdk8的环境,tomcat没什么要求.但如果要用jdk8的话,最好用run as中的serve ...
- Maven中dependencyManagement的使用
本文来说下Maven中dependencyManagement的使用 文章目录 dependencyManagement的使用 dependencyManagement的意义 dependencyMa ...
- maven 打包数据库加密_漫画:工作这么多年,你居然不知道 Maven中 Optional 和 Exclusions 的区别?...
Maven 依赖排除(Exclusions) 因为 Maven 构建项目具有依赖可传递的特性,当你在 pom.xml添加某个依赖时,可能也会引入不需要的依赖到你的项目中,这将会会可能引起如下问题: J ...
- 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
首页 Android Java 服务器 标签云 作品 关于 赞助列表 <a href="https://github.com/RayeWang" class="f ...
- Maven——maven中的 pom和import的作用到底是什么
1.前言 在微服务的项目中,我们是不是经常在父项目中写一些统一版本的jar包,但是其中很多时候都有如下类似代码的影子,对于下面的代码中pom和type的作用是否明白呢,如果不明白,欢迎看下面的内容. ...
最新文章
- Mysql修改设置root密码的命令及方法
- Fleury (弗罗莱) 算法通俗解释
- 验证用户输入的是不是中文名字 淘宝精品案例 元素样式设置的方式 链式编程
- DI 之Spring更多DI的知识
- threadsafe_Agrona的Threadsafe堆缓冲区
- 计算机网络【五】广播通信+以太网
- Web前后端笔记-vue cli及java进行AES加解密
- table表格边框样式_如何在CAD创建、导入表格?原来CAD的表格功能这么强大
- 中国AI英雄风云榜十位领军人揭晓 | 网易2018中国年度AI领域人物评选
- 使用Maven导出war包
- 制作自己的Maven镜像,上传Harbor镜像仓库
- 【项目】数据仓库概述
- SDHC 与SD的区别
- C#把excel数据转换成DataTable
- DELETE 语句与 REFERENCE 约束“FK_T_score_T_student_number“冲突。
- 淘宝装修前需要了解的css小技巧
- DNS服务器地址小总结
- React 和 Redux
- Java socket推送车速到Led屏
- 饶毅:中国未来与科学的隐患