多数据源
创建数据库
1
2
3
4
5
6
7
8
9
10
|
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) ); |
删除表
1
2
|
USE mybatis_plus; DROP TABLE IF EXISTS product; |
插入数据
1
|
INSERT INTO product (id, NAME , price) VALUES (1, '外星人' , 100); |
新建个工程。步骤和之前的一样
导入依赖
1
2
3
4
5
|
< dependency > < groupId >com.baomidou</ groupId > < artifactId >dynamic-datasource-spring-boot-starter</ artifactId > < version >3.5.0</ version > </ dependency > |
修改application.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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
1
2
3
4
5
6
7
8
9
|
package com.example.pojo; import lombok.Data; @Data public class Product { private Integer id; private String name; private Integer price; private Integer version; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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(都是接口)
1
2
3
4
5
6
7
|
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> { } |
1
2
3
4
5
6
7
|
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
1
2
3
4
5
|
package com.example.Sevice; import com.baomidou.mybatisplus.extension.service.IService; import com.example.pojo.Product; public interface ProductService extends IService<Product> { } |
1
2
3
4
5
|
package com.example.Sevice; import com.baomidou.mybatisplus.extension.service.IService; import com.example.pojo.User; public interface UserService extends IService<User> { } |
在这个包下创建文件包impl
1
2
3
4
5
6
7
8
9
10
|
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 { } |
1
2
3
4
5
6
7
8
9
10
11
12
|
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 { } |
写测试文件
1
2
3
4
5
6
7
8
9
|
@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