SpringBoot使用Mybatis-plus

SpringBoot使用Mybatis-plus

共同探讨,向各位大佬学习
走向CEO,迎娶白富美

前言

之前一直使用的是Mybatis和tk.mapper,这两天参与公司项目,看到公司使用的Mybatis-plus,我还是第一次接触,本着学习的态度,在网上查阅了大量资料以及官方文档,看出Mybatis-plus还是很简单的,下面进入正体。

导入依赖

除了springboot常规依赖,还需导入以下依赖

<!--mybatis-plus依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--lombok插件,通过注解的形式可以消除一些必须有但很臃肿的代码,比如getter、setter-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

启动类

在启动类上添加@MapperScan注解,注解内的路径为mapper所在位置

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

application.yml

在application.yml文件中只需要配置连接数据库信息

实体类

具体注解详解可看官方文档.

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;

@Data//省略手动创建getter、setter、toString方法
@TableName("user")//指定表名
public class User implements Serializable {
    @TableId//主键id
    private int id;

    private String name;
    private String password;
    private int age;
    private String sex;
}

mapper接口

在mapper报下创建UserMapper接口继承mybatisplus包下的BaseMapper,并指定泛型为实体类。
对于复杂的需求,可以使用注解进行自定义sql。

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.demo.cs.entity.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;

public interface UserMapper extends BaseMapper<User> {
    //对于一些复杂需求,可自定义注解
    @Select("select * from user")
    List<User> findAll();
}

或者使用xml文件的方式,使用xml文件的话需要在配置文件中配置以下内容,创建实体类别名以及.xml文件的扫描,classpath后是xml文件路径,注意resources下的包路径是"/"分隔的,比如com/demo/mapper/usermapper.xml。

mybatis-plus.type-aliases-package=com.cdrundle.codegen.entity
mybatis-plus.mapper-locations=classpath:mapper/*.xml

通用service

到此基本的业务,增删查改都可以完成,但是mybatis-plus还有一个通用Service,我对这个service的理解就是,它和mapper一样有对数据库增删查改的操作,但是serivce却是mapper的增强,我们来看看basemapper所有的方法
在这里插入图片描述
再看看service的方法,这还没拉完,屏幕拉不下了

在这里插入图片描述

使用它我们需要在项目的UserService接口继承mybatisplus包下的IService,并指定泛型为实体类,然后在UserService的实现类UserServiceImpl中继承mybatisplus包下的ServiceImpl<UserMapper,T>,指定泛型。

import com.baomidou.mybatisplus.extension.service.IService;
import com.demo.cs.entity.User;

public interface UserService extends IService<User> {
    void findAll();
}
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Override
    public void findAll() {
        this.list();//IService的方法
        this.baseMapper.findAll();//UserMapper中我自定义的findAll方法
    }
}

结束语

到此,这就是springboot使用mybatis-plus的基本操作了,至于QueryWrapper条件构造器大家可以在官网具体了解,以及代码生成器,因为我也不大熟…也觉得这个还是自己手敲比较好,不过原理和底层实现可以学习学习…

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值