7.Spring Boot Mybatis Multi DataSource

[作者信息] github: https://github.com/MiniPa email: eric.fourpackcn@outlook.com

[项目代码:https://github.com/MiniPa/spring_boot_demos]

===============================================================================

   

[application.properties]

 

mybatis.type-aliases-package=com.minipa.sbd.mybatis.multisrcs.entity

   

## springboot + mapper.xml配置mybatis时配置路径

# mybatis.config-locations=classpath:mybatis/mybatis-config.xml

   

spring.datasource.test1.driverClassName = com.mysql.jdbc.Driver

spring.datasource.test1.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8

spring.datasource.test1.username = root

spring.datasource.test1.password = root

   

   

spring.datasource.test2.driverClassName = com.mysql.jdbc.Driver

spring.datasource.test2.url = jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8

spring.datasource.test2.username = root

spring.datasource.test2.password = root

   

2.data source 配置

@Configuration

@MapperScan(basePackages = "com.minipa.sbd.mybatis.multisrcs.mapper.test1",

sqlSessionTemplateRef = "test1SqlSessionTemplate")

public class DataSource1Config {

   

@Bean(name = "test1DataSource")

@ConfigurationProperties(prefix = "spring.datasource.test1")

@Primary

public DataSource testDataSource() {

return DataSourceBuilder.create().build();

}

   

@Bean(name = "test1SqlSessionFactory")

@Primary

public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource) throws Exception {

SqlSessionFactoryBean bean = new SqlSessionFactoryBean();

bean.setDataSource(dataSource);

return bean.getObject();

}

   

@Bean(name = "test1TransactionManager")

@Primary

public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) {

return new DataSourceTransactionManager(dataSource);

}

   

@Bean(name = "test1SqlSessionTemplate")

@Primary

public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {

return new SqlSessionTemplate(sqlSessionFactory);

}

   

}

   

3.Mapper接口

public interface User1Mapper {

   

@Select("SELECT * FROM users")

@Results({

@Result(property = "userSex", column = "user_sex", javaType = SexEnum.class),

@Result(property = "nickName", column = "nick_name")

})

List<User> getAll();

   

@Select("SELECT * FROM users WHERE id = #{id}")

@Results({

@Result(property = "userSex", column = "user_sex", javaType = SexEnum.class),

@Result(property = "nickName", column = "nick_name")

})

User getOne(Long id);

   

@Insert("INSERT INTO users(user_name,pass_word,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})")

void insert(User user);

   

@Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}")

void update(User user);

   

@Delete("DELETE FROM users WHERE id =#{id}")

void delete(Long id);

   

}

   

4.其他使用方式和 SpringBoot Mybatis一样

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值