一、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
相关推荐
总结起来,通过SpringBoot、Mybatis-Plus和Druid,我们可以方便地实现双数据源配置,使得应用能同时处理MySQL和Oracle数据库的数据。在实际开发中,要根据业务场景灵活切换数据源,确保数据操作的正确性和效率。同时...
Mybatis整合Druid是将流行的Java数据库连接池Druid与ORM框架Mybatis相结合的过程,以提升数据访问性能和管理效率。Druid是一个高效且强大的数据库连接池,它提供了监控、SQL解析、Web统计等功能,而Mybatis则是一个...
3. **配置动态数据源**:使用 mybatis-plus-dynamic-datasource 提供的 DataSourceRouter 类,将所有数据源整合为一个动态数据源,并设置路由策略。 4. **配置 MyBatis-Plus**:在 MyBatis-Plus 的配置中,指定使用...
4. 集成MyBatis:配置MyBatis的mapper扫描路径,以及SqlSessionFactory的bean,这里可以使用DruidDataSource作为数据源。 5. 编写Mapper接口和XML文件:定义SQL查询和操作的方法,MyBatis会根据XML文件中的SQL语句...
本教程将详细介绍如何在MyBatis中利用第三方库Druid来创建数据连接池,并以SQL Server为例进行配置和使用。 首先,我们需要理解MyBatis和Druid的基本概念。MyBatis是一个轻量级的ORM(对象关系映射)框架,它可以将...
SpringBoot 整合 Mybatis 使用 Druid 数据库连接池 Spring Boot 是一个基于 Java 的框架,提供了快速开发和生产级别的应用程序的能力。Mybatis 是一个基于 Java 的持久层框架,提供了对数据库的访问和操作的能力。...
该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...
在本教程中,我们将深入探讨如何在SpringBoot项目中集成Mybatis和Druid数据库连接池。SpringBoot以其简洁、快速的起步方式深受开发者喜爱,而Mybatis作为一个轻量级的持久层框架,使得SQL操作更加灵活,Druid则是一...
该项目是一个完整的后台管理系统,采用了主流的技术栈,包括SpringBoot、Vue、Swagger、Redis、MySQL、MyBatis、PageHelper、Druid以及Quartz。以下将详细介绍这些技术及其在项目中的应用。 1. **SpringBoot**:...
本教程将围绕"Springboot+Mybatis+Druid多数据源配置"这一主题,详细介绍如何实现这一功能。 首先,Spring Boot简化了Spring应用的初始化和配置。在多数据源场景下,我们可以通过Spring Boot的@...
在本文中,我们将深入探讨如何将Spring Boot框架与MyBatis持久层框架集成,并使用Druid作为数据源。Spring Boot以其简洁的配置和自动化配置能力,使得开发过程更加高效;MyBatis则提供了灵活的SQL映射机制,而Druid...
在Java Web开发中,SSM(Spring、Spring MVC、MyBatis)框架组合是常见的选择,而Druid作为一款高效、强大的数据库连接池,被广泛应用于SSM项目中。本教程将详细介绍如何在SSM项目中配置并使用Druid连接池。 首先,...
5. 配置Mybatis的数据源:在Mybatis的配置中,指定使用我们自定义的数据源。 6. 在Service层实现数据源的切换:通过ThreadLocal存储当前线程使用的数据源,根据业务需求在Service层动态切换。 7. 测试验证:编写...
在整合MyBatis和Spring时,我们可以选择使用DruidDataSource替换默认的数据源。 然后,我们来讨论@Transactional注解。在Java中,`@Transactional`用于声明方法级别的事务管理。当方法执行过程中出现异常,Spring会...
在构建Web应用时,Spring Boot、MyBatis和Druid连接池的组合是常见的选择,因为它们能够提供高效、稳定且可监控的数据访问层。本文将深入探讨这些组件以及如何结合使用它们,尤其是如何实现Druid的监控功能。 首先...
- 配置SqlSessionFactory:基于DruidDataSource创建SqlSessionFactoryBean,指定Mybatis的配置文件路径。 - 配置MapperScannerConfigurer:扫描指定包下的Mapper接口,使其与XML中的SQL映射文件关联。 - 编写...
接下来,我们需要在MyBatis的配置中使用这个自定义的DruidDataSource。在mybatis-config.xml文件中,将数据源类型指定为我们创建的子类,并配置多个数据源的相关信息,如数据库URL、用户名、密码等。这样,MyBatis在...
本篇将详细讲解如何在Spring Boot项目中结合Mybatis和Druid实现多数据源配置,以支持Oracle和MySQL两种数据库,并进行数据库的分离调试。 首先,我们要理解Spring Boot的自动配置机制。Spring Boot通过扫描`@...