springboot整合mybatis-plus入门

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生 。
MP引入了类似JPA的思想(github源码–>https://github.com/baomidou/mybatis-plus)
通用 CRUD 封装BaseMapper接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器,只需编写mapper继承BaseMapper即可

public interface RoleMapper extends BaseMapper<Role> {
}

baseMapper内置了常用方法,基本CRUD可以解决

public interface BaseMapper<T> {
    int insert(T var1);

    int deleteById(Serializable var1);

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

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

    int deleteBatchIds(@Param("coll") Collection<? extends Serializable> var1);

    int updateById(@Param("et") T var1);

    int update(@Param("et") T var1, @Param("ew") Wrapper<T> var2);

    T selectById(Serializable var1);

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

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

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

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

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

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

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

    IPage<T> selectPage(IPage<T> var1, @Param("ew") Wrapper<T> var2);

    IPage<Map<String, Object>> selectMapsPage(IPage<T> var1, @Param("ew") Wrapper<T> var2);
}

springboot工程只需要额外引入MP依赖即可

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.1</version>
        </dependency>

需要注意的是启动类中需要加上MapperScan(这个是MP中的注解)

@SpringBootApplication
@MapperScan("com.vknow.mapper")
public class MybatisPlusRun {
    public static void main(String[] args) {
        SpringApplication.run(MybatisPlusRun.class, args);
    }
}

让后service调用mapper
(在IDEA编译器中 这里的RoleMapper会报错,因为没有加入spring容器,但是无影响)
selectList需要一个条件构造器,查询所有就传入null值就可以

@Service
public class RoleServiceImpl implements RoleService {

    @Autowired
    private RoleMapper roleMapper;

    @Override
    public List<Role> selectAll() {
        return roleMapper.selectList(null);
    }
}

controller

@RestController
public class RoleController {
    @Autowired
    private  RoleService roleService;
    @GetMapping("/selectAll")
    public List<Role> selectAll() {
      return  roleService.selectAll();
    }
}

数据成功查询
在这里插入图片描述

baseMapper只是MP的一部分,MP还有很多东西是值得去了解的

我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值