mybatis-plus是什麼框架,使用起來簡單嗎?文末有彩蛋

mybatis框架我們都熟悉了,是用來操作數據庫的屬於ORM框架。mybatis-plus是什麼框架,看名稱和手機似的,帶有plus一定是加強版,其官網是:MyBatis-Plus (baomidou.com)

開始mybatis-plus的實踐吧。

一、環境及依賴

這裏,基於springboot集成mybatis-plus。先看下具體的版本,

springboot:2.3.3.RELEASE

mybatis-plus-boot-starter:3.5.0

mysql驅動:8.0.32

由於mybatis-plus是基於mybatis的,這裏引入mybats-plus後就不必引入mybatis的依賴了。官網也給出了提醒,

二、配置文件

引入依賴後,下面看mybatis-plu需要哪些配置文件。由於mybatis-plus是基於mybatis的,不會對其作任何改變,所以任何mybatis的配置都不需要作改變,包括數據源的配置及mapper-locations。application.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
    username: root
    password: 123456
    type: com.zaxxer.hikari.HikariDataSource
mybatis:
  mapper-locations: classpath*:mapper/*.xml

也可以使用這個配置,

mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml

都是可以的。另外,mybatis-plus還有很多配置,可以自行去探究。

四、使用mybatis-plus

mybatis-plus對單表CRUD提供了方便的API,已經默認了很多方法,主要體現在下面兩個接口,

Service接口

Mapper接口

在單表的CRUD操作可以繼承這兩個接口,會少寫很多代碼。

看下mapper接口

package com.wcj.my.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wcj.my.entity.User;

/**
 * @date 2023/6/8 15:18
 */
public interface UserMapper extends BaseMapper<User> {
}

繼承了BaseMapper接口,給了一個泛型User,User則是和數據庫表一一對應的實體。

看下service接口,這裏做了一些處理,所以沒有集成IService接口。

package com.wcj.my.service;

import com.wcj.my.dto.UserDto;
import com.wcj.my.entity.User;
import com.wcj.my.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * @date 2023/6/8 15:19
 */
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public boolean saveUser(UserDto userDto){
        User user=new User();
        user.setUName(userDto.getName());
        user.setUCode(userDto.getCode());
        user.setUAge(userDto.getAge());
        user.setUAddress(userDto.getAddress());
        int num=userMapper.insert(user);
        if(num>0){
            return true;
        }
        return false;
    }

}

最後就是controller了,就是調用Service層的接口。IService和BaseMapper接口可以選擇繼承,也可以不繼承,根據實際情況而定。

使用mybatis-plus的一個簡單插入操作就是這些了,很簡單,相對於mybatis來說,多了IService和BaseMapper接口,在單表操作時會減少很多代碼的編寫。

除了上面的這些功能,mybatis-plus還有其他功能,像主鍵生成策略、自定義ID、邏輯刪除等,總體來說通過官網都可以實現,這裏就不一一演示了。

五、總結

mybatis-plus是對mybatis的一個增強,簡化mybatis的操作,使開發更簡便。

1、集成使用mybatis-plus-boot-starter依賴;

2、配置文件使用mybatis的即可,另外mybatis-plus也有自己的配置;

3、單表操作建議繼承IService、BaseMapper接口;

最後,本文用到的源碼均可關注下方公衆號獲得。另外,關注公衆號回覆”45“可獲得一份極客時間的”mysql實戰45講“,很乾的乾貨!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章