1.介绍你对MybatisPlus的理解?

:::tips MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生(提供了快速使用mybatis的方式) :::

2.MybatisPlus和Mybatis是什么关系?

:::tips MybatisPlus是Mybatis的增强版,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 :::

3.MybatisPlus可以解决那些问题?

:::tips MybatisPlus可以实现单边的增删改查,增加开发效率 :::

4.MybatisPlus使用步骤?

  1. 第一步:导入mybatis依赖
  2. <!--mybatisplus起步依赖-->
  3. <dependency>
  4. <groupId>com.baomidou</groupId>
  5. <artifactId>mybatis-plus-boot-starter</artifactId>
  6. <version>3.4.2</version>
  7. </dependency>
  8. 第二部:配置mysql数据源
  9. spring:
  10. datasource:
  11. url: jdbc:mysql://localhost:3306/mp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
  12. username: root
  13. password: 1234
  14. driver-class-name: com.mysql.jdbc.Driver
  15. 第三步:配置数据实体bean
  16. @Data
  17. @AllArgsConstructor
  18. @NoArgsConstructor
  19. @Builder
  20. public class TbUser {
  21. private Long id;
  22. private String userName;
  23. private String password;
  24. private String name;
  25. private Integer age;
  26. private String email;
  27. }
  28. 第四步:创建mapper接口并继承BaseMapper<T>
  29. public interface UserMapper extends BaseMapper<TbUser> {
  30. }
  31. 第五步:springboot启动类配置mapper包扫描,并交给spring
  32. @MapperScan("com.itheima.mapper")
  33. 第六步:测试
  34. @SpringBootTest
  35. public class MybatisPlusTest {
  36. @Autowired
  37. private UserMapper userMapper;
  38. @Test
  39. public void mybatisPlusTest(){
  40. TbUser tbUser = userMapper.selectById(1);
  41. System.out.println(tbUser);
  42. }
  43. }

5.MybatisPlus-API方法介绍?

   增加
    int insert(T entity);
   删除:
    int deleteById(Serializable id);

    int deleteByMap(@Param("cm") Map<String, Object> columnMap);

    int delete(@Param("ew") Wrapper<T> queryWrapper);

    int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);
    修改:
    int updateById(@Param("et") T entity);

    int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);
    查找:
    T selectById(Serializable id);

    List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);

    List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);

    T selectOne(@Param("ew") Wrapper<T> queryWrapper);

    Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);

    List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);

    List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);

    List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);

    <E extends IPage<T>> E selectPage(E page, @Param("ew") Wrapper<T> queryWrapper);

    <E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param("ew") Wrapper<T> queryWrapper);

Wrapper接口:
 1.QueryWrapper: 查询
   LambdaQueryWrapper
 2.UpdateWrapper: 增删改
   LambdaUpdateWrapper
    eq( ) :  等于 =
    ne( ) :  不等于 <>
    gt( ) :  大于 >
    ge( ) :  大于等于  >=
    lt( ) :  小于 <
    le( ) :  小于等于 <=
    between ( ) :  BETWEEN 值1 AND 值2 
    notBetween ( ) :  NOT BETWEEN 值1 AND 值2 
    in( ) :  in
    notIn( ) :not in

6.MybatisPlus封装Service层的步骤?

:::tips 1.定义一个服务扩展接口,该接口继承公共接口IService;
2.定义一个服务实现类,该类继承ServiceImpl,并实现自定义的扩展接口;
注意事项:
1.ServiceImpl父类已经注入了UserMapper对象,名称叫做baseMapper,所以当前实现类直接可以使用baseMapper完成操作
2.因为ServiceImpl已经实现了IService下的方法,所以当前服务类没有必要再次实现思想:共性的业务代码交给框架封装维护,非共性的业务,在接口UserService定义,然后在当前的服务类下实现; :::