Mybatis-Plus快速使用相关知识点1

Mybatis-Plus的mapper、service

基本CURD

BaseMapper

BaseMapper是MyBatis-Plus提供的模板mapper,其中包含了基本的CRUD方法,泛型为操作的实体类型,Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能

@Repository
@Mapper
public interface UserMapper extends BaseMapper<User> {
    Map<String,Object> selectMapById(Long id);
}

通用Service

MyBatis-Plus中有一个接口 IService和其实现类 ServiceImpl,封装了常见的业务层逻辑,
1、通用 Service CRUD 封装IService (opens new window)接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆,
2、泛型 T 为任意实体对象
3、建议如果存在自定义通用 Service 方法的可能,请创建自己的 IBaseService 继承 Mybatis-Plus 提供的基类对象
4、Wrapper 为 条件构造器

/**
* 接口
* UserService继承IService模板提供的基础功能 
*/
public interface UserService extends IService<User> {
}
/**
* ServiceImpl实现了IService,提供了IService中基础功能的实现
* 若ServiceImpl无法满足业务需求,则可以使用自定的UserService定义方法,并在实现类中实现
*/
@Service
public class UserServiceImpl 
extends ServiceImpl<UserMapper, User> 
implements UserService {
}

这里有人就会问了:为什么我们自己创建的实现类还要继承ServiceImpl<UserMapper, User>
答:因为我们自己创建的UserService 接口继承了mybatis-plus的 IService 接口,而我们的UserServiceImpl 实现了UserService ,所以说IService 接口的方法都要继承给我们的UserService ,所以在实现类里面我们就要重写方法,但是我们不需要把每一个方法都写出来,因为IService 有自己的实现类

在这里插入图片描述
所以我们只需要在我们自己的实现类上继承IService的实现类就可以了


基本方法

不带构造器的查询

使用mapper方法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

自定义xml写sql查询

建mapper

在这里插入图片描述
在这里插入图片描述

建xml文件

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatisplus.mapper.UserMapper">

    <!--自定义sql-->
    <select id="selectMapById"  resultType="java.util.Map">
       select  id,name,age,email from user where id =#{id}
    </select>
    
</mapper>


方法

在这里插入图片描述

使用service方法

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值