.Net 转java SpringBoot基础2 整合MyBatis-Plus及异常处理

2 篇文章 0 订阅
2 篇文章 0 订阅

学习目标:

  • SpringBoot 整合MyBatis-Plus
  • 异常处理

学习内容:

  1. 整合MyBatis-Plus
  2. 异常处理

学习时间:

  • 2022.07.03

学习产出:

  1. Spring Boot 整合MyBatis Plus
		<!-- pom.xml-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!-- 引入MybatisPlus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.11</version>
        </dependency>

application.yml 相关配置

spring:

    #数据源的配置
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.1.5:3306/dd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=UTC&allowMultiQueries=true
    username: root
    password: 123456
mybatis:
  # 搜索指定包别名
  typeAliasesPackage: com.example.**.dto
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapperLocations: classpath*:mapper/**/*Mapper.xml
  # 加载全局的配置文件
  configLocation: classpath:mybatis/mybatis-config.xml

mybatis-plus:
  configuration:
  	#控制台输出SQL语句
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapperPackage: com.example.**.mapper
  # 对应的 XML 文件位置
  mapperLocations: classpath*:mapper/**/*Mapper.xml

项目目录结构
在这里插入图片描述
MyBatis Puls 主要代码,基础BaseMapper 就能实现单表通用操作(CRUD)。复杂业务SQL,还是需要Xml的做法。

public interface UserMapper extends BaseMapper<User> {

}

MyBatis Puls 分页实现, 通过selectPage方法返回IPage实现,需要添加MyBatis Puls分页拦截器。

@Configuration
public class MpConfig {
    /**
     *  myBatis-plus  分页拦截器
     * @return
     */
    @Bean
     public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mpc=new MybatisPlusInterceptor();
        mpc.addInnerInterceptor(new PaginationInnerInterceptor());
        return  mpc;
    }
}

表现形式 select * from user limit 5,5

   @Override
    public IPage<User> pageList(IPage<User> page) {
        return userMapper.selectPage(page,null);
    }
  1. 通用异常处理
    通过SpringBoot 的Advice实现

可以把Void 改为返回通用对象,处理成前段通用的响应格式。

@RestControllerAdvice
public class ProjectExceptionAdvice {

    @ExceptionHandler
    public  void  doException(Exception ex){
        //写log
        //发通知
        //.....
        //一定要有这句不然异常会被吃掉
        ex.printStackTrace();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值