SqlSessionTemplate sqlSessionTemplate1() {
return new SqlSessionTemplate(sqlSessionFactory1());
}
}
创建 MyBatisConfigOne 类,首先指明该类是一个配置类,配置类中要扫描的包是 org.javaboy.mybatis.mapper1 ,即该包下的 Mapper 接口将操作 dsOne 中的数据,对应的 SqlSessionFactory 和 SqlSessionTemplate 分别是 sqlSessionFactory1 和 sqlSessionTemplate1,在 MyBatisConfigOne 内部,分别提供 SqlSessionFactory 和 SqlSessionTemplate 即可, SqlSessionFactory 根据 dsOne 创建,然后再根据创建好的SqlSessionFactory 创建一个 SqlSessionTemplate。
这里配置完成后,依据这个配置,再来配置第二个数据源即可:
@Configuration
@MapperScan(basePackages = “org.javaboy.mybatis.mapper2”,sqlSessionFactoryRef = “sqlSessionFactory2”,sqlSessionTemplateRef = “sqlSessionTemplate2”)
public class MyBatisConfigTwo {
@Resource(name = “dsTwo”)
DataSource dsTwo;
@Bean
SqlSessionFactory sqlSessionFactory2() {
SqlSessionFactory sessionFactory = null;
try {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dsTwo);
sessionFactory = bean.getObject();
} catch (Exception e) {
e.printStackTrace();
}
return sessionFactory;
}
@Bean
SqlSessionTemplate sqlSessionTemplate2() {
return new SqlSessionTemplate(sqlSessionFactory2());
}
}
好了,这样 MyBatis 多数据源基本上就配置好了,接下来只需要在 org.javaboy.mybatis.mapper1 和 org.javaboy.mybatis.mapper2 包中提供不同的 Mapper,Service 中注入不同的 Mapper 就可以操作不同的数据源。
org.javaboy.mybatis.mapper1 中的 mapper:
public interface UserMapperOne {
List getAllUser();
}
对应的 XML 文件:
<?xml version="1.0" encoding="UTF-8" ?>select * from t_user;
org.javaboy.mybatis.mapper2 中的 mapper:
public interface UserMapper {
List getAllUser();
}
对应的 XML 文件:
<?xml version="1.0" encoding="UTF-8" ?>select * from t_user;
接下来,在 Service 中注入两个不同的 Mapper,不同的 Mapper 将操作不同的数据源。
好了,关于 MyBatis 多数据源本文就先说到这里。
==============================================================
今年 5 月份的时候,松哥发了一个视频资源库,当时和大家说,这个资源库会定期更新,后来却迟迟未更新,其实不是我没资源了,是因为当时的关键字是我一个一个在微信后台配置的,配置到后面发现,后台配置关键字有数量上限,没法继续配置了,所以这事就搁置下来了。
九月份松哥上线了自己的服务,和微信的后台对接起来,具体实现大家可以参考这两篇文章:
现在再配置关键字就没有限制了。于是最近抽空把资源更新了一波,废话不多说,大家在公众号【江南一点雨】后台回复相应的口令,就可以获取相应的视频下载地址。
| 资源名称 | 口令 |
| :-- | — |
| Java 基础语法 | javaboy4096 |
| Java 面向对象 | javaboy6148 |
| JavaSE 飞机大战项目 | javaboy2053 |
| 深入面向对象和数组 | javaboy8200 |
| Java 常用类详解 | javaboy4105 |
| Java 异常机制解析 | javaboy6157 |
| Java 集合与数据结构 | javaboy2062 |
| JavaIO 流全解析 | javaboy8209 |
| 深入理解 Java 多线程 | javaboy4114 |
| Java 网络编程 | javaboy6166 |
| 手动开发一个 Web 服务器 | javaboy2071 |
| 深入理解 Java 注解+反射 | javaboy8218 |
| Java23 种设计模式 | javaboy4123 |
| 学会 Java 正则表达式 | javaboy6175 |
| JDBC 详解 | javaboy2080 |
| 独立开发 SORM 框架 | javaboy8227 |
| 快人一步,Java10 新特性全解析 | javaboy4132 |
| Java 数据结构和算法 | javaboy6184 |
| 深入理解 Java 虚拟机 | javaboy2089 |
| Java 解析XML文件 | javaboy8236 |
| 资源名称 | 口令 |
| :-- | — |
| Oracle 数据库安装及简单 SQL | javaboy4141 |
| Oracle 账户管理及查询语句 | javaboy6193 |
| Oracle 中的函数 | javaboy2098 |
| Oracle 中的子查询 | javaboy8245 |
| Oracle 中常见的表操作 | javaboy4150 |
| Oracle 中的数据备份 | javaboy6202 |
| MySQL 基础 | javaboy2107 |
| PowerDesigner 教程 | javaboy8254 |
| JDBC 操作数据库 | javaboy4159 |
| MySQL 优化 | javaboy6211 |
| Oracle 高级课程 | javaboy2116 |
| 数据库与 SQL 优化 | javaboy6283 |
| 数据库集群与高并发 | javaboy2188 |
| 资源名称 | 口令 |
| :-- | — |
| HTML 入门教程 | javaboy8263 |
| CSS 教程 | javaboy4168 |
| JavaScript 视频教程 | javaboy6220 |
| jQuery 视频教程 | javaboy2125 |
| EasyUI 视频教程 | javaboy8272 |
| Servlet 基础 | javaboy4177 |
| Servlet 中的 Request 和 Response | javaboy6229 |
| Servlet 请求转发与重定向 | javaboy2134 |
| Session 和 Cookie | javaboy8281 |
| JSP 详解 | javaboy4186 |
| 用户管理系统实战 | javaboy6238 |
| Ajax 详解 | javaboy2143 |
| EL 和 JSTL | javaboy8290 |
| 过滤器详解 | javaboy4195 |
| 监听器详解 | javaboy6247 |
| KnockoutJS 实战视频 | javaboy2152 |
| 资源名称 | 口令 |
| :-- | — |
| IntelliJIDEA 视频教程 | javaboy4285 |
| Java 高并发秒杀方案 | javaboy8299 |
| Activiti 工作流实战解析 | javaboy4204 |
| Java 并发编程与高并发实战 | javaboy6256 |
| Linux 快速入门 | javaboy2161 |
| Maven 详解 | javaboy8308 |
| Git 应用详解 | javaboy4213 |
| Svn 入门教程 | javaboy6265 |
| 高并发编程与线程池 | javaboy2170 |
| 系统优化与 JVM 调优 | javaboy8317 |
| Java 编程规范 | javaboy4222 |
| AIO、BIO、NIO 详解 | javaboy6274 |
| Netty 高级视频教程 | javaboy2179 |
| ActiveMQ 消息中间详解 | javaboy8326 |
| 单点登录视频教程 | javaboy4231 |
| Dubbo 详解 | javaboy8335 |
| Redis 全解析 | javaboy4240 |
| VSFTPD+NGINX 视频教程 | javaboy6292 |
| MyBatis 视频教程 | javaboy2197 |
| Spring4 视频教程 | javaboy8344 |
| SpringMVC 视频教程 | javaboy4249 |
| SSM 框架整合视频教程 | javaboy6301 |
| RBAC 权限控制视频教程 | javaboy2206 |
| Hibernate4 视频教程 | javaboy8353 |
| Jfinal 视频教程 | javaboy4258 |
| Shiro 视频教程 | javaboy6310 |
| Solr 视频教程 | javaboy2215 |
| Struts2 视频教程 | javaboy8362 |
| Nginx 视频教程 | javaboy4267 |
| Redis 缓存详解 | javaboy6319 |
| JVM 虚拟机优化 | javaboy2224 |
| Zookeeper 详解视频 | javaboy8371 |
| Linux 基本操作 | javaboy6328 |
| 架构师面试攻略(文档) | javaboy2233 |
| 架构师面试攻略(视频) | javaboy8380 |
| JUC 视频教程 | javaboy6400 |
| MySQL 高级教程 | javaboy2305 |
| Java 邮件开发教程 | javaboy8452 |
| Maven 实战视频 | javaboy8443 |
| 自己 DIY 一个 Tomcat | javaboy4339 |
| 资源名称 | 口令 |
| :-- | — |
| HTML5 新特性 | javaboy4276 |
| AngularJS 视频教程 | javaboy6337 |
| Grunt 视频教程 | javaboy2242 |
| Gulp 视频教程 | javaboy8389 |
| Webpack 视频教程 | javaboy4294 |
| Bootstrap 视频教程 | javaboy6346 |
| CSS3 视频教程 | javaboy2251 |
| ES6 视频教程 | javaboy8398 |
| HTML5 核心技术 | javaboy4303 |
| HTML5 实战 | javaboy6355 |
| HTML5 项目实战 | javaboy2260 |
| JS 模块化视频教程 | javaboy8407 |
| less 视频教程 | javaboy4312 |
| NodeJS 视频教程 | javaboy6364 |
| React 视频教程 | javaboy2269 |
| Zepto 视频教程 | javaboy8416 |
| HTML+CSS 实战视频 | javaboy4321 |
| JavaScript140 集 | javaboy6373 |
| jQuery 视频教程 | javaboy2278 |
| JavaScript 高级语法视频教程 | javaboy8425 |
| Vue 项目实战视频 | javaboy4330 |
| CSS3 特效实战 | javaboy6382 |
| HTML5 特效实战 | javaboy2287 |
| HTML5+Canvas 实现刮刮卡 | javaboy8434 |
| Gradle 从入门到精通 | javaboy6391 |
| mpvue 项目实战 | javaboy2296 |
| Vue 最新最全视频教程 | javaboy4348 |
| 资源名称 | 口令 |
| :-- | — |
| Linux 操作系统 | javaboy4357 |
| Linux 基本命令 | javaboy6409 |
| Linux 文件安装 | javaboy2314 |
| Shell 编程 | javaboy8461 |
| 网络基础知识 | javaboy4366 |
| LVS 集群与高并发 | javaboy6418 |
| Nginx 和高并发 | javaboy2323 |
| keepalive 和单点故障 | javaboy8470 |
| HDFS 分布式文件系统 | javaboy4375 |
| mapreduce 分布式计算 | javaboy6427 |
| YARN 资源管理与任务调度 | javaboy2332 |
| mapreduce 计算案例 | javaboy8479 |
| HIVE 视频教程 | javaboy4384 |
| Hbase 数据库详解 | javaboy6436 |
| zookeeper 协同处理 | javaboy2341 |
| CDH 使用 | javaboy8488 |
| HUE 使用 | javaboy4393 |
| IMPALA 详解 | javaboy6445 |
| oozie 详解 | javaboy2350 |
| elasticsearch 详解 | javaboy8497 |
| Redis 内存数据 | javaboy4402 |
| Scala 入门 | javaboy6454 |
| Spark 详解 | javaboy2359 |
| Spark 高级 | javaboy8506 |
| Spark-Stream 流式计算 | javaboy4411 |
| Kafka 分布式消息队列 | javaboy6463 |
| STORM 流式计算框架 | javaboy2368 |
| Python 语言基础 | javaboy8515 |
| 回归算法 | javaboy4420 |
| 分类算法、决策树 | javaboy6472 |
| 聚类算法、微博案例 | javaboy2377 |
| 推荐算法 | javaboy8524 |
| 大型电商日志分析(项目实战) | javaboy4429 |
| 智慧交通(项目实战) | javaboy6481 |
| 智能 App(项目实战) | javaboy2386 |
| 资源名称 | 口令 |
| :-- | — |
Kafka实战笔记
关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图
- Kafka入门
- 为什么选择Kafka
- Karka的安装、管理和配置
- Kafka的集群
- 第一个Kafka程序
afka的生产者
- Kafka的消费者
- 深入理解Kafka
- 可靠的数据传递
- Spring和Kalka的整合
- Sprinboot和Kafka的整合
- Kafka实战之削峰填谷
- 数据管道和流式处理(了解即可)
- Kafka实战之削峰填谷
fLW69-1714451512173)]
- Kafka入门
- 为什么选择Kafka
- Karka的安装、管理和配置
[外链图片转存中…(img-TlpuVa9s-1714451512174)]
- Kafka的集群
- 第一个Kafka程序
- [外链图片转存中…(img-zJcmUopR-1714451512174)]
afka的生产者
[外链图片转存中…(img-7PcbP4QU-1714451512174)]
- Kafka的消费者
- 深入理解Kafka
- 可靠的数据传递
[外链图片转存中…(img-6MbAYOYb-1714451512175)]
[外链图片转存中…(img-E4uaVASR-1714451512175)]
- Spring和Kalka的整合
- Sprinboot和Kafka的整合
- Kafka实战之削峰填谷
- 数据管道和流式处理(了解即可)
[外链图片转存中…(img-bR6IFPMk-1714451512175)]
- Kafka实战之削峰填谷
[外链图片转存中…(img-8EJDUOf1-1714451512176)]