网站建设运营与维护标准,郑州营销型网站制作,做网站商城互联网公司,网站开发用什么后端框架目录 0 课程视频
1 配置
1.1 加依赖
1.2 yml 配置文件 - druid配置后报错 搞不定
2 代码
2.1 实体类
2.2 mapper - 调用操作数据库方法 操作数据库
2.3 service - 指定数据源 - 用Mapper 接口 - 操作数据库
2.4 controller - 用户使用接口 - druid配置后报错 搞不定
2 代码
2.1 实体类
2.2 mapper - 调用操作数据库方法 操作数据库
2.3 service - 指定数据源 - 用Mapper 接口 - 操作数据库
2.4 controller - 用户使用接口 - 用service 方法
3 总结
3.1 项目小 可用此方案
3.2 项目大 建议使用 sharding-jdbc
3.3 需要将原生的Druid的配置 隔离掉
3.4 事务的开启需在多数据的切换后
3.5 参考 0 课程视频
https://www.bilibili.com/video/BV1JL41117Lb/?spm_id_from333.788vd_sourceff8b7f852278821525f11666b36f180ahttps://www.bilibili.com/video/BV1JL41117Lb/?spm_id_from333.788vd_sourceff8b7f852278821525f11666b36f180a
1 配置
1.1 加依赖
!--mybatis-plus--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.1.0/version/dependency!-- 苞米豆 多数据源 读写分离--dependencygroupIdcom.baomidou/groupIdartifactIddynamic-datasource-spring-boot-starter/artifactIdversion2.5.4/version/dependency!--druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.10 /version/dependency!--web--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--jdbc--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jdbc/artifactId/dependency!--mysql--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency
1.2 yml 配置文件 - druid配置后报错 搞不定 server:port: 8090spring:datasource:dynamic:primary: masterdatasource:master:#type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://8.219.87.87:3306/test001?useSSLfalseuseUnicodetruecharacterEncodingutf-8username: password: slave_1: # slave 是组名,可以自定义; 1 是从库名 ,可以多个从库在slave组中, 自动轮询 负载均衡#type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://8.219.87.87:3307/test001?useSSLfalseuseUnicodetruecharacterEncodingutf-8username: password: mail:protocol: smtp # 邮件协议host: smtp.163.com # qq邮箱 smtp 服务器地址port: 25username: myz50w163.com # 发件人邮箱地址password: HNJUACYDXLXKBFTJ #csludyslehgqbcha # 授权码default-encoding: utf-8 # 编码字符集properties:mail:debug: true # 开启 debug 模式以后会完整打印邮件发送过程的日志mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启驼峰映射
2 代码
2.1 实体类
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;
import java.time.LocalDateTime;Data
NoArgsConstructor
AllArgsConstructor
TableName(user) //连接数据库表名
public class User implements Serializable {TableId(value id, type IdType.AUTO) // 解决 id 自动生成太大private Integer id; // 主键private String email; // 邮箱private String password; // 密码使用 md5 盐 加密private String salt; // 盐private String confirmCode; // 确认码private LocalDateTime activationTime; // 激活失效时间private Byte isValid; // 是否可用}
2.2 mapper - 调用操作数据库方法 操作数据库
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.test_reg.entity.User;
import org.apache.ibatis.annotations.Mapper;Mapper
public interface UserMapper extends BaseMapperUser {}
2.3 service - 指定数据源 - 用Mapper 接口 - 操作数据库 DS(slave)public List getUser(){userMapper.select(参数)}DS(master)public MapString, Object Register(User user) { userMapper.insert(user);}
2.4 controller - 用户使用接口 - 用service 方法
GetMapping(getUser)public List getUser() {return userService.getUser();}PostMapping(register)public MapString, Object Register(RequestBody User user) {return userService.Register(user);}
3 总结
3.1 项目小 可用此方案
3.2 项目大 建议使用 sharding-jdbc
3.3 需要将原生的Druid的配置 隔离掉
3.4 事务的开启需在多数据的切换后
3.5 参考
苞米豆多数据源管理_baomidou 使用druid_菜菜阿菜的博客-CSDN博客网上关于动态数据源的切换的文档有很多核心只有两种。1是构建多套环境2是基于spring原生的AbstractRoutingDataSource切换。如果你的数据源较少场景不复杂选择以上任意一种都可以。如果你需要更多特性请试着尝试本数据源。数据源分组适用于多种场景常见的场景如下。纯粹多库各个库甚至可以是不同的数据库。读写分离一主多从多主多从。混合模式既有主从也有单库。自动集成Druid数据源方便监控管理。自动集成Mybatis-Plus。自定义数据源来源。如从数据库的https://blog.csdn.net/weixin_42849706/article/details/108868208