Mybatis配置多数据源
写点笔记
共 5694字,需浏览 12分钟
· 2021-08-19
<!-- 数据库-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!-- orm-->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- orm spring-->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- 数据源-->
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.9</version>
</dependency>
public class MybatisConfig {
public DruidDataSource getDruidDataSource(String url,String userName,String password) throws SQLException {
DruidDataSource ds = new DruidDataSource();
ds.setUrl(url);
ds.setUsername(userName);
ds.setPassword(password);
try {
ds.setFilters("stat,mergeStat,slf4j");
} catch (Exception var18) {
}
ds.setMaxActive(50);
ds.setInitialSize(1);
ds.setMinIdle(1);
ds.setMaxWait(60000);
ds.setTimeBetweenEvictionRunsMillis(120000);
ds.setMinEvictableIdleTimeMillis(300000);
ds.setValidationQuery("SELECT 'x'");
ds.setPoolPreparedStatements(true);
ds.setMaxPoolPreparedStatementPerConnectionSize(30);
ds.setTestWhileIdle(true);
ds.setTestOnReturn(false);
ds.setTestOnBorrow(false);
ds.init();
return ds;
}
"dataO") (name =
public SqlSessionFactoryBean getSqlSessionFactoryOne1() throws Exception {
//xml和实体的映射
SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(getDruidDataSource("jdbc:mysql://127.0.0.1:3306/tianjl?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true","root","tianjingle"));
sqlSessionFactoryBean.setTypeAliasesPackage("com.example.demo.one");
Resource[] resources = new Resource[]{new ClassPathResource("tian/one/OneMapper.xml")};
sqlSessionFactoryBean.setMapperLocations(resources);
return sqlSessionFactoryBean;
}
"dataTwo") (name =
public MapperFactoryBean getSqlSessionFactoryTwo() throws Exception {
//xml和实体的映射
SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(getDruidDataSource("jdbc:mysql://127.0.0.1:3306/tianjl?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true","root","tianjingle"));
sqlSessionFactoryBean.setTypeAliasesPackage("com.example.demo.two");
sqlSessionFactoryBean.setMapperLocations(new ClassPathResource("tian/two/TwoMapper.xml"));
//单个数据源所有的数据库映射
MapperFactoryBean mapperFactoryBean=new MapperFactoryBean();
//设置sqlSessionTemplate,zhuru yong de
mapperFactoryBean.setMapperInterface(TwoMapper.class);
mapperFactoryBean.setSqlSessionFactory(sqlSessionFactoryBean.getObject());
return mapperFactoryBean;
}
"dataO") (name =
public static MapperScannerConfigurer mapperScannerConfigurer(){
MapperScannerConfigurer mapperScannerConfigurer=new MapperScannerConfigurer();
mapperScannerConfigurer.setBasePackage("com.example.demo.one.mapper");
//这块指定扫描的接口
mapperScannerConfigurer.setSqlSessionFactoryBeanName("dataO");
return mapperScannerConfigurer;
}
}
@Resource
private OneMapper oneMapper;
@Resource
private TwoMapper twoMapper;
@GetMapping(value = "/one")
public BaikeResponse one(){
BaikeResponse baikeResponse=new BaikeResponse();
baikeResponse.setData(oneMapper.one());
return baikeResponse;
}
@GetMapping(value = "/two")
public BaikeResponse two(){
BaikeResponse baikeResponse=new BaikeResponse();
baikeResponse.setData(twoMapper.two());
return baikeResponse;
}
评论
多文件夹下Excel指定列的提取合并
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤红豆生南国,春来发几枝。一、前言大家好,我是崔艳飞,工作中经常遇到,从多个文件夹下的Excel中,提取指定列,再合并成新的Excel。几个文件夹还能应付,但要是有成百上千个文件夹,你就要
Python爬虫与数据挖掘
3
永久激活GPT4.0 + 多模态(文生图+图片解析)!终身使用!我上车了
GPT 4.0,太牛了🔥!!用GPT4.0生成个代码,轻轻松松就能帮你搞定如果你有想拍视频的想法,或者从事相关新媒体职业,那这个视频脚本生成就很适合你GPT4.0好用是好用,但它的价格也是真贵啊!一个月要 20 美元,折合大概 150 块人民币,一年就是 1800。MJ 绘画更是高攀不起的
Python客栈
0
再获殊荣!乐普新品平板多参数监护仪荣获两项国际大奖
近日,乐普新品平板多参数监护仪AIView VX凭借创新前瞻的设计理念及卓越不凡的产品体验,一举斩获“2024年德国iF设计奖”和“2024年德国红点奖”两项国际大奖,再度彰显乐普独特产品魅力及研发与工业设计的强大实力。作为国际公认的全球工业设计顶级奖项,红点设计奖与德国“iF奖”、美国“IDEA奖
乐普医疗AI
1
Spring Boot 优雅实现多租户架构
来源:blog.csdn.net/u010349629/article/details/130737253👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0
小哈学Java
1448
一天肝600多篇文章,用数量对抗算法的不确定性
我写公众号七八年,总原创文章数量也只不过是650多篇。写爆文的一天就干出600多篇,多少有点震惊。背后是公众号平台进行功能调整后,从一天只能发一次文章,变改成了一天可以无限制发任意数量的文章。做公众号爆文写作变现的底层逻辑是基于公众号算法调整,从订阅规则改成了推荐机制,人人都有机会获得系统的推荐流量
python之禅
0
程序员因Bug被要求归还4万多年终奖,网友:不还!
往期热门文章:1、手动部署jar包,太low!动态上传热部署真爽!2、一套万能通用的异步处理方案3、微服务全做错了!谷歌提出新方法,成本直接降9倍!4、IntelliJ IDEA 2024 首个大版本发布,好用到爆!5、Web 后端的一生之敌:分页器责编 | 梦依丹出品 | 程序人生(ID:code
Java后端技术
0
LangChain:安装与环境配置
使用以下命令安装 LangChain:pip install langchain或者:conda install langchain -c conda-forge环境设定使用LangChain通常需要与一个或多个模型提供程序、数据存储、 A
Python之王
0
马斯克旗下xAI发布首个多模态大模型!
大数据文摘受权转载自头部科技文丨Congerry3月中旬,马斯克旗下的 xAI 刚刚宣布开源 Grok-1 大模型!一个月过去,xAI 又掏出了 Grok-1.5V。Grok-1.5V是xAI开发的第一款多模态模型。除了强大的文本处理能力,Grok现在还可以处理包括文档、图表、截图和照片在内的多种视
大数据文摘
0