能够基于MyBatisPlus完成标准Dao开发
能够掌握MyBatisPlus的条件查询
能够掌握MyBatisPlus的字段映射与表名映射
能够掌握id生成策略控制
能够理解代码生成器的相关配置
MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
开发方式
基于MyBatis使用MyBatisPlus
基于Spring使用MyBatisPlus
基于SpringBoot使用MyBatisPlus
org.projectlombok lombok com.baomidou mybatis-plus-boot-starter 3.5.1 com.alibaba druid 1.1.16
注意事项1:由于mp并未被收录到idea的系统内置配置,无法直接选择加入
注意事项2:如果使用Druid数据源,需要导入对应坐标
(类名与表名对应,属性名与字段名对应)
新建一个数据库mybatisplyus
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=UTCusername: rootpassword: 123456
//使用mp,dao的写法,只需要继承一个父亲接口就可以BaseMapper,还要注意加上泛型
@Mapper
public interface UserDao extends BaseMapper {}
@SpringBootTest
public class TestUserDao {@Autowiredprivate UserDao userDao;//查询所有@Testvoid testFindAll() {List list = userDao.selectList(null);System.out.println("list=" +list);}}
通过入门案例制作,MyBatisPlus的优点有哪些?
MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
官网:https://mybatis.plus/ https://mp.baomidou.com/
无侵入:只做增强不做改变,不会对现有工程产生影响
强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表CRUD 操作
支持 Lambda:编写查询条件无需担心字段写错
支持主键自动生成
内置分页插件
……
下面用MP进行CURD
// 新增
@Testvoid testAdd() {User user = new User();user.setName("黑马程序员");user.setPassword("itheima");user.setAge(12);user.setTel("4006184000");int row = userDao.insert(user);System.out.println("row = " + row);}
这里面因为刚才不小心多增加一个相同内容 所以这里面删除的话id就用雪花
//删除@Testvoid testDelete() {// int row = userDao.deleteById(3);int row = userDao.deleteById(1631599267871215618L);System.out.println("row = " + row);}
我们现在把另一个也删除了
//修改@Testvoid testUpdate() {//1.先查询数据User user = userDao.selectById(2);user.setPassword("777");//2.修改int row = userDao.updateById(user);System.out.println("row = " + row);}
//查询单个@Testvoid testFindById() {User user = userDao.selectById(2);System.out.println("user = " + user);}