SpringBoot + MybaitsPlus 使用总结

整体项目结构:

在这里插入图片描述

  1. TranscodeTestApplication类是统一的应用入口
  2. service包下都是具体的业务逻辑
  3. dao包下是涉及数据操作相关的内容,包括实体类、通用mapper、iService类
  4. controller包下面是接口封装类,主要和前端页面交互,包括参数校验
  5. common包下面是通用配置、枚举类、DTO定义等

MybaitsPlus的使用:

在这里插入图片描述

entity

这里主要是用来定义实体类的,类的字段和数据库中表的字段要保持一致,类的名称也要和表的名称保持一致。因为在mybaits的配置中 map-underscore-to-camel-case: true, 所以代码中需要用驼峰的方式命名,而数据库中都是用下划线连接的。
例如:数据库中有表“media_job”,其中有字段“job_detail”;在代码的实体类中定义为:“mediaJob”类,其中有“jobDetail”字段。
这样,通过这个实体类操作数据库时,无需说明配置,直接可以对应上数据库表和字段了

在这里插入图片描述

mapper

mapper这里主要是操作数据库的,通过继承BaseMapper,可以直接使用一些基础的数据操作方法。需要通过实体类指定mapper操作的数据库表是哪一张
在这里插入图片描述

就可以直接使用一些基础方法了,比如selectbyid 、update、insert之类的

service

dao包下的 service主要是为了封装一些自定义的数据库操作方法,这里主要是用到了QueryWrapper
的相关用法。这里的service是继承了IService类。
在这里插入图片描述

在这里插入图片描述

*注意mapper在业务层引用时用的是@Resource注解,而service在业务层用的时候是用@Autowired
注解

IPage

主要是用来做数据分页的插件
在这里插入图片描述

多数据源的解法

在实际操作数据库的过程中经常需要同时操作两个数据库,我们希望可以用mybaits来连接多个数据库,并在使用的过程中灵活的切换
这里引入druid来帮我们做这个事情

<!-- 引入德鲁伊连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.1</version>
        </dependency>
引入依赖后,需要在Mybaits配置中添加多个数据源,默认的是primary: transcode

在这里插入图片描述

在实际使用中可以用@DS注解 指定方法用的数据源,注解可以加在类上,也可以是方法上
在这里插入图片描述

如果想在同一个方法中切换数据源,可以这么做

//临时切换
DynamicDataSourceContextHolder.push("cloudwings");//cloudwings即数据源名称
//中间执行你的业务数据操作
…………
//再切换回去
DynamicDataSourceContextHolder.clear();

*Druid 还可以用在主从库切换的使用上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值