Springboot整合Mybatis-plus实战

关注公众号【肥超说技术】,回复【资源】,可获取200G+最新微服务、docker技术资源等。

spring-boot-mybatis-plus

 

pom.xml

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

application.yml

mybatis-plus:
  mapper-locations: classpath:mappers/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.xkcoding.orm.mybatis.plus.entity
  global-config:
    # 数据库相关配置
    db-config:
      #主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: auto
      #字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
      field-strategy: not_empty
      #驼峰下划线转换
      table-underline: true
      #是否开启大写命名,默认不开启
      #capital-mode: true
      #逻辑删除配置
      #logic-delete-value: 1
      #logic-not-delete-value: 0
      db-type: mysql
    #刷新mapper 调试神器
    refresh: true
  # 原生配置
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true

UserMapper.java

/**
 * <p>
 * UserMapper
 * </p>
 *
 * @description: UserMapper
 * @copyright: Copyright (c) 2020
 * @version: V1.0
 */
@Component
public interface UserMapper extends BaseMapper<User> {
}

 

UserService.java

 

/**
 * <p>
 * User Service
 * </p>
 * @description: User Service
 * @copyright: Copyright (c) 2020
 * @version: V1.0
 */
public interface UserService extends IService<User> {
}

 

BaseMapper和IService中的方法基本相似,用法也基本相同。

 

 

MybatisPlusConfig


/**

 * <p>

 * mybatis-plus 配置

 * </p>

 * @description: mybatis-plus 配置

 * @date: Created in 2018/11/8 17:29

 * @version: V1.0

 */

@Configuration

public class MybatisPlusConfig {

    /**

     * 性能分析拦截器,不建议生产使用

     */

    @Bean

    public PerformanceInterceptor performanceInterceptor(){

        return new PerformanceInterceptor();

    }

    /**

     * 分页插件

     */

    @Bean

    public PaginationInterceptor paginationInterceptor() {

        return new PaginationInterceptor();

    }

}

 

CommonFieldHandler

package com.xkcoding.orm.mybatis.plus.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * <p>
 * 通用字段填充
 * </p>
 * @description: 通用字段填充
 */
@Slf4j
@Component
public class CommonFieldHandler implements MetaObjectHandler {


    @Override
    public void insertFill(MetaObject metaObject) {
        //新增的时候 自动往数据库里新增创建时间,和最后一次更改时间,可字定义,但是数据库没有此字段新增会报错
        log.info("start insert fill ....");
        this.setFieldValByName("createTime", new Date(), metaObject);
        this.setFieldValByName("lastUpdateTime", new Date(), metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        log.info("start update fill ....");
        this.setFieldValByName("lastUpdateTime", new Date(), metaObject);
    }
}

使用案例

   User byIdService = userService.getById("Id");
    User byIdMapper = userMapper.selectById("Id");

    QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
    userQueryWrapper.eq("email","**@163.com");

    userService.list(userQueryWrapper);
    userMapper.selectList(userQueryWrapper);

    Page<User> page = new Page<>(1,1);
    userService.page(page,userQueryWrapper);
    userMapper.selectPage(page,userQueryWrapper);


    userService.remove(userQueryWrapper);
    userMapper.delete(userQueryWrapper);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值