一、mybatis配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="userDefine">
<environment id="userDefine">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="cn.com.ibatisdemo.ibatisdemo.UserDefineDataSourceFactory">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/db1" />
<property name="username" value="root" />
<property name="password" value="root" />
<!-- 初始化连接大小
<property name="initialSize" value="0" />-->
<!-- 连接池最大使用连接数量-->
<property name="maxActive" value="20" />
<!-- 连接池最小空闲 -->
<property name="minIdle" value="0" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sql.xml"/>
</mappers>
</configuration>
二、自定义数据源的两种写法
自定义数据源整合阿里巴巴温少的druid数据库连接池
方案一:
extends DruidDataSourceFactory implements DataSourceFactory
方案二:
extends UnpooledDataSourceFactory
package cn.com.ibatisdemo.ibatisdemo;
import java.util.Map;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.ibatis.datasource.DataSourceFactory;
import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class UserDefineDataSourceFactory extends DruidDataSourceFactory implements DataSourceFactory{
protected Properties properties;
@Override
public void setProperties(Properties props) {
this.properties= props;
}
@Override
public DataSource getDataSource() {
try {
return createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
} /*extends UnpooledDataSourceFactory {
protected DataSource dataSource;
public UserDefineDataSourceFactory() {
this.dataSource = new DruidDataSource();
}
}*/
测试代码:
package cn.com.ibatisdemo.ibatisdemo;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class TestDruidDemo {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String resource = "conf.xml";
// 使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
Reader reader = Resources.getResourceAsReader(resource);
// 构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder()
.build(reader,"userDefine");
SqlSession session = sessionFactory.openSession();
System.out.println(session);
session = sessionFactory.openSession();
System.out.println(session);
DruidDataSourceFactory f;
}
}
三、测试结果
方案一:
extends DruidDataSourceFactory implements DataSourceFactory
方案二:
extends UnpooledDataSourceFactory
相关推荐
mybatis-plus 与多数据源初体验
spring-boot集成mybatis+druid实现 hive/mysql多数据源切换,用mysql数据库作为用户验证库以及用户信息库,hive作为数据可视化源库。
项目采用:Spring boot(java config方式配置) + mybatis + 通用mapper + druid 本项目是在https://github.com/abel533/MyBatis-Spring-Boot基础上修改的 注意事项及测试见项目下的README.md 技术学习交流:...
项目前端模板引擎使用Thymeleaf,数据源使用Druid。 使用注意 1、开发工具的选择 本项目使用 Intellij IDEA 2019.3.5 版本开发,若使用 Eclipse/MyEclipse导入项目,请注意文件编码为UTF-8,以避免乱码。 2、确保...
Dynamic-Datasource (opens new window)- 基于 SpringBoot 的多数据源组件,功能强悍,支持 Seata 分布式事务。 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 ...
Dynamic-Datasource (opens new window)- 基于 SpringBoot 的多数据源组件,功能强悍,支持 Seata 分布式事务。 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 ...
技术栈:Spring Boot、Apache Shiro、MyBatis-Plus、Alibaba Druid、Redis、MySQL、Thymeleaf、Google Guava 安装 将本项目源码导入本地开发工具(如 IntelliJ IDEA ),本地开发工具需要安装 lombok 插件 安装Mysql...
本项目使用 Spring Boot 搭建, 用于加深对 Spring Boot 与 Shiro 的学习, 项目特色是支持 restful 风格权限控制, 支持对同一 URL, 不同 HTTP Mehtod 的权限控制, 适用于更多的场景. 预览地址: http://ewt.186g.cn ...
SpringBoot整合mybatis-plus实现多数据源的动态切换且支持分页查询,案例以postgresql和oracle数据库为数据源,分别使用mybatis-plus分页插件和pagehelper分页插件实现分页查询。
Spring boot+Mybatis 使用DruidDataSource 以注解方式动态整合mysql,sqlserver多数据源
springboot+mybatis+druid实现多数据源的操作代码
一个基于springboot的快速集成多数据源的启动器简介dynamic-datasource-spring-boot-starter是一个基于springboot的快速集成多数据源的启动器。其支持Jdk 1.7 +,SpringBoot 1.4.x 1.5.x 2.xx。文件| 文献资料|特性...
使用Atomikos支持分布式事务,Spring+Mybatis+Druid+AtomikosDataSource 使用手册: https://www.yuque.com/itman/wosfkn/mreame
框架基于SpringBoot3.x开发,使用了Mybatis-Plus、dynamic-datasource多数据源、druid数据库连接池、Sa-Token权限认证、SpringDoc接口文档、lombok、actuator健康监控、retry重试等组件。 功能 通用权限管理4件套,...
数据源采用 DruidDataSource,数据库采用MySQL 项目构建采用maven进行构建 本项目划分出7个模块(module),各模块之间的作用及依赖关系如下: ask-seo: 搜索引擎模块 ->ask-model ask-spider: 爬虫模块,独立的一个...
Spring boot + Mybatis + alibaba druid通过继承AbstractRoutingDataSource的determineCurrentLookupKey来动态切换DataSource,主从切换,读写分离。 可以直接运行,完整工程代码 + SQL脚本。
基于springboot+mybatis plus+druid整合实现多数据源连接,新加入的接口默认使用master数据源,如果需要切换数据源,在serviceImpl的方法上面加入@DataSource注解切换数据源,在dao接口的方法内或者controller的方法...
1、该项目整合了nacos注册中心 + openFeign远程调用 + gateway网关+ tkMybatis+druid+dynamic-datasource多数据源 + pagehelper分页插件 + MGB自动代码生成 + seata分布式事务+ sentinel服务限流降级 + sleuth-...
4. 自动运行SQL脚本,关闭请注释掉 **spring.datasource.schema**。 5. 默认登录 **admin/admin** 6. 打印后台 SQL 语句。 (打开/关闭 注释该方法 com.zyf.framework.config.MybatisAutoConfiguration.pageHelper)...