Mybatis-Plus的多数据源你了解吗
作者:秃头的英才 发布时间:2023-07-22 00:46:59
标签:Mybatis,Plus,数据源
多数据源
创建数据库
CREATE DATABASE mybatis_plus_1;
USE mybatis_plus_1;
CREATE TABLE product
(
id BIGINT(20) NOT NULL COMMENT '主键id',
NAME VARCHAR(30) NULL DEFAULT NULL COMMENT '商品名称',
price INT(11) DEFAULT 0 COMMENT '价格',
VERSION INT(11) DEFAULT 0 COMMENT '乐观锁版本号',
PRIMARY KEY (id)
);
删除表
USE mybatis_plus;
DROP TABLE IF EXISTS product;
插入数据
INSERT INTO product (id, NAME, price) VALUES (1, '外星人', 100);
新建个工程。步骤和之前的一样
导入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>
修改application.yml
spring:
# 配置数据源信息
datasource:
dynamic:
# 设置默认的数据源或数据源组,默认值即为master
primary: master
# 严格匹配数据源,默认false,true未匹配到指定数据源时抛异常,false使用默认数据源
strict: false
datasource:
master:
url: jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&serverTimezone=GMT%2B8
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: "011012"
save_1:
url: jdbc:mysql://localhost:3306/mybatis_plus_1?useSSL=false&serverTimezone=GMT%2B8
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: "011012"
创建文件包pojo
package com.example.pojo;
import lombok.Data;
@Data
public class Product {
private Integer id;
private String name;
private Integer price;
private Integer version;
}
package com.example.pojo;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
//所有无参构造和get方法和set方法还有哈希库方法注解(lombok)
//有参构造方法注解(@AllArgsConstructor)
@Data
@TableName("t_user")
public class User {
//将该属性对应的字段指定为主键
@TableId(value = "uid",type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
private Integer sex;
}
创建文件包mapper(都是接口)
package com.example.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.pojo.Product;
import org.springframework.stereotype.Repository;
@Repository
public interface ProductMapper extends BaseMapper<Product> {
}
package com.example.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.pojo.User;
import org.springframework.stereotype.Repository;
@Repository
public interface UserMapper extends BaseMapper<User> {
}
创建文件包Service
package com.example.Sevice;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.pojo.Product;
public interface ProductService extends IService<Product> {
}
package com.example.Sevice;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.pojo.User;
public interface UserService extends IService<User> {
}
在这个包下创建文件包impl
package com.example.Sevice.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.mapper.UserMapper;
import com.example.pojo.User;
import org.springframework.stereotype.Service;
@Service
@DS("master")
public class UserService extends ServiceImpl<UserMapper, User> implements com.example.Sevice.UserService {
}
package com.example.Sevice.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.Sevice.ProductService;
import com.example.mapper.ProductMapper;
import com.example.pojo.Product;
import lombok.Data;
import org.springframework.stereotype.Service;
@Service
@DS("save_1")
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
}
写测试文件
@Autowired
private UserService userService;
@Autowired
private ProductService productService;
@Test
public void test1(){
System.out.println(userService.getById(1));
System.out.println(productService.getById(1));
}
来源:https://blog.csdn.net/qq_56299755/article/details/123636082


猜你喜欢
- 基本概念servlet 关系servlet 和 servletconfig 是一对一的关系;servletconfig 作用它存储 web.
- 一、RESTful 简介REST 是一种软件架构风格。REST:Representational State Transfer,表现层资源状
- 如何在多线程中使用随机数生成器(Random)避免 Random 实例被多线程使用,虽然共享该实例是线程安全的,但会因竞争同一seed 导致
- 本文实例为大家分享了java实现小超市程序的具体代码,供大家参考,具体内容如下一.人物包1.顾客类package person;public
- 前言任何一个服务如果没有监控,那就是两眼一抹黑,无法知道当前服务的运行情况,也就无法对可能出现的异常状况进行很好的处理,所以对任意一个服务来
- Java HashSetHashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 允许有 null 值。
- 本文实例为大家分享了Unity3D撤回命令功能开发,供大家参考,具体内容如下在类似操作考核的项目中我们经常会遇到回到上一步的需求。所以我们有
- @PostConstruct不被调用的原因如果在配置文件中配置使用,延迟加载的话如图被@Service等注解的类,需要在注入使用的时候,才会
- 当你在使用Mybatis 时进行配置的时候有这样几个坑一定要注意下。mybatisplus中逻辑删除通俗说为了在数据库中保留数据,但是又不想
- java内存分析类加载的过程类的加载与ClassLoader的理解类的初始化package Collections;public class
- 本文实例为大家分享了Android空心圆及层叠效果的具体代码,供大家参考,具体内容如下package com.bwei.test.zidin
- JavaBean根据指定条件设置属性值默认值使用场景当bean数据中已经装配好其他数据,在逻辑以及数据转换完成的最后一步进行数据默认值设置;
- 本文实例讲述了Java Swing中JDialog实现用户登陆UI。分享给大家供大家参考,具体如下:JDialog是一种对话框组件,它常常与
- 本篇主要是自定义动画与Animatable。AnimationSpec上一篇中,出现了多次animationSpec属性,它是用来自定义动画
- C#实现的Check Password,并根据输错密码的次数分情况锁定账户:如果输入错误3次,登录账户锁定5分钟并提示X点X分后重试登录。如
- SharedPreferences介绍:SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置
- Unity Shader学习:玻璃材质,供大家参考。主要是通过反射和折射来达到透明的效果,用菲涅尔来混叠。shader部分:Shader &
- 目录实现基础_routeNamed_flushHistoryUpdatesaddpushpopremove总结整个 flutter 应用的运
- 绘制模糊数学中隶属函数分布图using System; using System.Collect
- [LeetCode] 144. Binary Tree Preorder Traversal 二叉树的先序遍历Given a binary