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講“,很乾的乾貨!