mybatis-plus 增强CRUD

1.第一步,maven的pom文件引入mybatis-plus依赖

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

2.在nacos中引入配置文件

# MyBatis Plus配置

mybatis-plus:

# 搜索指定包别名

typeAliasesPackage: com.jing.**.*

# 配置mapper的扫描,找到所有的mapper.xml映射文件

mapperLocations: classpath*:mapper/**/*.xml

# 加载全局的配置文件

#configLocation: classpath:mybatis/mybatis-config.xml

3.config配置

package com.jing.common.core.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
* Mybatis Plus 配置
*
* @author ruoyi
*/
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
public class MybatisPlusConfig
{
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor()
{
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 分页插件
interceptor.addInnerInterceptor(paginationInnerInterceptor());
// 乐观锁插件
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
// 阻断插件
interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
return interceptor;
}

/**
* 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
*/
public PaginationInnerInterceptor paginationInnerInterceptor()
{
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
// 设置数据库类型为mysql
paginationInnerInterceptor.setDbType(DbType.MYSQL);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
paginationInnerInterceptor.setMaxLimit(-1L);
return paginationInnerInterceptor;
}

/**
* 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
*/
public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
{
return new OptimisticLockerInnerInterceptor();
}

/**
* 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
*/
public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
{
return new BlockAttackInnerInterceptor();
}
}

4.实体类

在实体类中需要加上@TableName("t_stu"),与数据库的表名一一对应

5.service继承extends IService<Stu>

@Service
public interface StuService extends IService<Stu> {
}

6.serviceimpl

@Service继承extends ServiceImpl<StuMapper, Stu> implements StuService
public class StuServiceImpl extends ServiceImpl<StuMapper, Stu> implements StuService {
}

7.mapper

@Mapper继承 extends BaseMapper<Stu>
public interface StuMapper extends BaseMapper<Stu> {
}

8.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.jing.product.mapper.StuMapper">

</mapper>

9.controller实行增删改查操作

/**
* 查询列表
*/
@ApiOperation(value = "查询列表", notes = "查询列表", httpMethod = "GET")
@GetMapping("/findByStu")
public R<List<Stu>> findByStu(){
return R.ok(stuService.list());
}

/**
* 模糊查询
*/
@ApiOperation(value = "模糊查询", notes = "模糊查询", httpMethod = "GET")
@GetMapping("/findByStuLike")
public R<List<Stu>> findByStuLike(@RequestParam String name){
// 使用 QueryWrapper 构建查询条件
QueryWrapper<Stu> queryWrapper = new QueryWrapper<>();
// 使用 likeRight 实现模糊查询,name%
queryWrapper.likeRight("name", name);
List<Stu> list=stuService.list(queryWrapper);
return R.ok(list);
}

/**
* 添加
*/
@PostMapping("/add")
public R add(@RequestBody Stu stu){
stuService.save(stu);
return R.ok();
}

/**
* 修改
*/
@PutMapping("/update")
public R update(@RequestBody Stu stu){
stuService.updateById(stu);
return R.ok();
}

/**
* 删除
*/
@DeleteMapping("del")
public R del(@RequestParam Integer id){
stuService.removeById(id);
return R.ok();
}

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值