如何编写mybatis-plus、hikariCP动态数据源
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,本篇内容主要讲解"如何编写mybatis-plus、hikariCP动态数据源",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何编写mybatis-plu
千家信息网最后更新 2025年11月15日如何编写mybatis-plus、hikariCP动态数据源
本篇内容主要讲解"如何编写mybatis-plus、hikariCP动态数据源",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何编写mybatis-plus、hikariCP动态数据源"吧!
最近的项目使用多数据源,于是想起之前mybatis-plus系列的dynamic-datasource-springboot-starter 由于springboot2.x使用hikari作为默认数据库连接池,就是用springboot2.X+mybatis-plus3.x+dynamic-datasource-springboot-starter3.0.0进行了集成,代码如下 MybatisConfiguration.java
package com.share.config;import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class MybatisConfiguration { /** * 分页插件注册 * @return */ @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); }}BaseEntity.java
package com.share.domain;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import lombok.Data;import java.io.Serializable;import java.util.Date;@Datapublic class BaseEntity implements Serializable { private static final long serialVersionUID = 5741450406019549099L; @TableId(type = IdType.AUTO) private Long id; @TableField(value = "create_time") private Date createTime; @TableField(value = "update_time") private Date updateTime; @TableField(value = "delete_time") private Date deleteTime;}User.java
package com.share.domain;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableLogic;import com.baomidou.mybatisplus.annotation.TableName;import com.baomidou.mybatisplus.annotation.Version;import lombok.Data;import java.util.Date;@Data@TableName(value ="user")public class User extends BaseEntity { @Version private Integer version; private String username; private String nickname; private String password; private String email; private String phone; private Integer age; private Integer gender; private Integer status; @TableField(value = "last_login_time") private Date lastLoginTime; @TableLogic(value = "0", delval = "1") private Integer del;}UserMapper.java
package com.share.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.share.domain.User; /**- @desc:- @author:caifan- @date:2020/3/15- /public interface UserMapper extends BaseMapper{}
UserRest.java
package com.share.rest;import com.share.domain.User;import com.share.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.MediaType;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import java.util.Date;@RestController@RequestMapping("/rest/user")public class UserRest { @Autowired private UserService userService;@RequestMapping(value = "/save1", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public void save1(@RequestBody User user) { if (null == user.getUpdateTime()) { user.setUpdateTime(new Date()); } userService.saveUser1(user);}@RequestMapping(value = "/save2", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)public void save2(@RequestBody User user) { if (null == user.getUpdateTime()) { user.setUpdateTime(new Date()); } userService.saveUser2(user);}}UserService.java
package com.share.service; import com.baomidou.dynamic.datasource.annotation.DS; import com.share.domain.User; import com.share.mapper.UserMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @Service @Transactional @DS("ds1") public class UserService { @Resource private UserMapper userMapper; public void saveUser1(User user) { userMapper.insert(user); } public User findById(Long id) { return userMapper.selectById(id); } @DS("ds2") public void saveUser2(User user) { userMapper.insert(user); } }MybatisApplication.java
package com.share; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan(value = {"com.share.mapper"}) public class MybatisApplication { public static void main(String[] args) { SpringApplication.run(MybatisApplication.class, args); } }配置文件application.properties
server.port=9001mybatis-plus.global-config.db-config.id-type=automybatis-plus.global-config.db-config.logic-delete-field=delmybatis-plus.global-config.db-config.logic-delete-value=1mybatis-plus.global-config.db-config.logic-not-delete-value=0mybatis-plus.global-config.db-config.field-strategy=not_emptyspring.datasource.dynamic.primary=ds1spring.datasource.dynamic.datasource.ds1.username=rootspring.datasource.dynamic.datasource.ds1.password=123456spring.datasource.dynamic.datasource.ds1.url=jdbc:mysql://localhost:3306/demo_ds_0spring.datasource.dynamic.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver#动态数据源配置spring.datasource.dynamic.datasource.ds1.hikari.jdbc-url=jdbc:mysql://localhost:3306/demo_ds_0spring.datasource.dynamic.datasource.ds1.hikari.driver-class-name=com.mysql.jdbc.Driverspring.datasource.dynamic.datasource.ds1.hikari.username=rootspring.datasource.dynamic.datasource.ds1.hikari.password=123456spring.datasource.dynamic.datasource.ds1.hikari.connection-test-query=select 1 from dualspring.datasource.dynamic.datasource.ds1.hikari.is-auto-commit=truespring.datasource.dynamic.datasource.ds2.username=rootspring.datasource.dynamic.datasource.ds2.password=123456spring.datasource.dynamic.datasource.ds2.url=jdbc:mysql://localhost:3306/demo_ds_1spring.datasource.dynamic.datasource.ds2.driver-class-name=com.mysql.jdbc.Driverspring.datasource.dynamic.datasource.ds2.hikari.jdbc-url=jdbc:mysql://localhost:3306/demo_ds_1spring.datasource.dynamic.datasource.ds2.hikari.driver-class-name=com.mysql.jdbc.Driverspring.datasource.dynamic.datasource.ds2.hikari.username=rootspring.datasource.dynamic.datasource.ds2.hikari.password=123456
到此,相信大家对"如何编写mybatis-plus、hikariCP动态数据源"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数据
数据源
动态
内容
学习
配置
实用
更深
代码
兴趣
实用性
实际
就是
插件
操作简单
数据库
文件
方法
更多
朋友
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器时间突然变成其他时间
有国际影响力的网络安全案件
web服务器的建立和管理
中国网络技术大学排名
服务器 dhcp设置
电子图书数据库有
套餐报价软件开发服务商
网络安全七个
零度服务器
苹果审核服务器
oracle 轻量级数据库
单选按钮数据库传值选中
西青金蝶软件开发哪家好
云天网络安全实验室
宁夏软件开发咨询
奇门遁甲排盘软件开发
五年级软件开发工资
香港阿里云服务器能安装模拟器吗
git服务器 多备份
网络技术促进人类道德进步
网络安全常见攻击技巧
电商要买哪种服务器
煤矿网络安全要求变高
计算机网络安全顾问啊
传奇怪物技能数据库详解
网络技术有限公司赚钱吗
互联网金融科技会议
郑州网络安全大赛图片
数据库pv操作
速达重装怎么恢复数据库