Mybatis-Plus快速入门

  • 入门案例

  • MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
  • 开发方式
  • 基于MyBatis使用MyBatisPlus
  • 基于Spring使用MyBatisPlus
  • 基于SpringBoot使用MyBatisPlus
  • SpringBoot整合MyBatis开发过程(复习)
  • 创建SpringBoot工程
  • 勾选配置使用的技术
  • 设置dataSource相关属性(JDBC参数)
  • 定义数据层接口映射配置
  • SpringBoot整合MyBatisPlus入门程序
  • 1:创建新模块,选择Spring初始化,并配置模块相关基础信息
  • 2:选择当前模块需要使用的技术集(仅保留JDBC)
  • 3:手动添加mp起步依赖
  • 由于mp并未被收录到idea的系统内置配置,无法直接选择加入
  • 
                com.baomidou
                mybatis-plus-boot-starter
                3.4.1
    
  • 4:设置Jdbc参数(application.yml)
  • spring:
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/dp1?useUnicode=true&characterEncoding=utf-8
        username: root
        password: root
  • 5:制作实体类与表结构(类名与表名对应,属性名与字段名对应)
  • Mybatis-Plus快速入门_第1张图片
  • -- 创建person表
    CREATE TABLE person(
     id BIGINT PRIMARY KEY auto_increment, -- 主键id
      name VARCHAR(20), -- 姓名
    	password VARCHAR(40), -- 密码
    	age VARCHAR(20), -- 年龄
    	tel VARCHAR(40) -- 电话
    );
    -- 添加数据
    INSERT INTO person VALUES (NULL,'张三',4243,13,142424),(NULL,'李四',3256,16,145623),(NULL,'王五',9256,20,197864);
  • @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Person {
        private Long id;
        private String name;
        private String password;
        private String age;
        private String tel;
    }
  • 6:定义数据接口,继承BaseMapper
  • @Mapper
    public interface PersonDao extends BaseMapper {
    
    }
  • 7:测试类中注入dao接口,测试功能
  • @SpringBootTest
    class MybatisPlus01ApplicationTests {
        @Autowired
        private PersonDao personDao;
    
        @Test
        void testGetAll() {
            List personList = personDao.selectList(null);
            System.out.println(personList);
        }
    }
  • Mybatis-Plus快速入门_第2张图片
  • MyBatisPlus特性

  • 无侵入:只做增强不做改变,不会对现有工程产生影响
  • 强大的CRUD操作:内置通用 Mapper,少量配置即可实现单表CRUD操作
  • 支持Lambda:编写查询条件无需担心字段写错
  • 支持主键自动生成
  • 内置分页插件
  • 标准数据层CRUD功能

  • 新增
  • 自定义接口
  • boolean save(T t)
  • MP接口
  • int insert(T t)
  • Mybatis-Plus快速入门_第3张图片
  • @Test
        void testSave(){
            Person person = new Person();
            person.setName("后端程序员");
            person.setPassword("icpc");
            person.setAge("12");
            person.setTel("673512");
            personDao.insert(person);
        }
  • Mybatis-Plus快速入门_第4张图片
  • Mybatis-Plus快速入门_第5张图片
  •  删除
  • 自定义接口
  • boolean delete(int id)
  • MP接口
  • int deleteById(Serializable id)
  • Mybatis-Plus快速入门_第6张图片
  • @Test
        void testDelete(){
            personDao.deleteById(1607368447103193090L);
        }
  • Mybatis-Plus快速入门_第7张图片
  • 修改
  • 自定义接口
  • boolean update(T t)
  • MP接口
  • int updateById(T t)
  • Mybatis-Plus快速入门_第8张图片
  • @Test
        void testUpdate(){
            Person person = new Person();
            person.setId(1L);
            person.setName("Tom777");
            personDao.updateById(person);
        }
  • Mybatis-Plus快速入门_第9张图片
  • 根据id查询
  • 自定义接口
  • T getById(int id)
  • MP接口
  • T selectById(Serializable id)
  • Mybatis-Plus快速入门_第10张图片
  • @Test
        void testGetById(){
            Person person = personDao.selectById(2L);
            System.out.println(person);
        }
  • 查询全部
  • 自定义接口
  • List getAll()
  • MP接口
  • List selectList()
  • 分页查询
  • 自定义接口
  • PageInfo getAll(int page, int size)
  • MP接口
  • IPage selectPage(IPage page)
  • 按条件查询
  • 自定义接口
  • List getAll(Condition condition)
  • MP接口
  • IPage selectPage(Wrapper queryWrapper)

你可能感兴趣的:(Mybatis-Plus,mybatis,java,spring)