Spring-boot+Durid+mybatis的多数据源集成方案

2025-06-06 07:44:20

1、创建两个数据库,一个数据库名为ideadb,作为主数据库,负责数据的插入和更新操作,另一个数据库为ideadb-r为从数据库,只负责数据的读取操作。提示:可以通过mysqldump实现数据库的同步复制

Spring-boot+Durid+mybatis的多数据源集成方案Spring-boot+Durid+mybatis的多数据源集成方案

3、创建数据源配置类DSConfig,实现多数据源的初始化操作,在该类中构建了两个数据源bean对象masterDS和slaveDS;package fantasy.datasource;import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import javax.sql.DataSource;/** * Created by Administrator on 2017/8/22 0022. */@Configurationpublic class DSConfig { @Bean(name = "masterDS") @ConfigurationProperties(prefix = "spring.datasource.master") public DataSource dataSourceMaster() { return DataSourceBuilder.create().build(); } @Bean(name = "slaveDS") @ConfigurationProperties(prefix = "spring.datasource.slave") public DataSource dataSourceSlave() { return DataSourceBuilder.create().build(); }}

Spring-boot+Durid+mybatis的多数据源集成方案

5、使用主数据源masterDS操作数据表,对应的mapper接口类:IdeaMapperpackage fantasy.dao.master;import fantasy.dao.Idea;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;/** * Created by Administrator on 2017/8/13 0013. */@Mapperpublic interface IdeaMapper { @Select("SELECT * FROM IDEA WHERE id = #{id}") Idea findById(@Param("id") String id); @Update("update idea set name=#{name} where id=#{id}") boolean updateById(@Param("id") String id,@Param("name") String name);}

Spring-boot+Durid+mybatis的多数据源集成方案
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢