`
gaojingsong
  • 浏览: 1210479 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Mybatis自定义DataSource使用druid】

阅读更多

一、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

 



 

 

 

 

  • pom.rar (758 Bytes)
  • 下载次数: 26
  • 大小: 49 KB
  • 大小: 56.8 KB
1
1
分享到:
评论

相关推荐

    SpringBoot + mybatis-plus + druid 实现mySql与Orcl双数据源

    总结起来,通过SpringBoot、Mybatis-Plus和Druid,我们可以方便地实现双数据源配置,使得应用能同时处理MySQL和Oracle数据库的数据。在实际开发中,要根据业务场景灵活切换数据源,确保数据操作的正确性和效率。同时...

    Mybatis整合Druid

    Mybatis整合Druid是将流行的Java数据库连接池Druid与ORM框架Mybatis相结合的过程,以提升数据访问性能和管理效率。Druid是一个高效且强大的数据库连接池,它提供了监控、SQL解析、Web统计等功能,而Mybatis则是一个...

    mybatis-plus-dynamic-datasource

    3. **配置动态数据源**:使用 mybatis-plus-dynamic-datasource 提供的 DataSourceRouter 类,将所有数据源整合为一个动态数据源,并设置路由策略。 4. **配置 MyBatis-Plus**:在 MyBatis-Plus 的配置中,指定使用...

    SpringBoot+MyBatis+Druid连接池+JDBC官方驱动+ClickHouse

    4. 集成MyBatis:配置MyBatis的mapper扫描路径,以及SqlSessionFactory的bean,这里可以使用DruidDataSource作为数据源。 5. 编写Mapper接口和XML文件:定义SQL查询和操作的方法,MyBatis会根据XML文件中的SQL语句...

    MyBatis 通过第三方Druid数据连接池连接SQL server 简单例子

    本教程将详细介绍如何在MyBatis中利用第三方库Druid来创建数据连接池,并以SQL Server为例进行配置和使用。 首先,我们需要理解MyBatis和Druid的基本概念。MyBatis是一个轻量级的ORM(对象关系映射)框架,它可以将...

    SpringBoot整合Mybatis使用Druid数据库连接池

    SpringBoot 整合 Mybatis 使用 Druid 数据库连接池 Spring Boot 是一个基于 Java 的框架,提供了快速开发和生产级别的应用程序的能力。Mybatis 是一个基于 Java 的持久层框架,提供了对数据库的访问和操作的能力。...

    会员系统,整合了mybatis,springboot,DruidDataSource连接池

    该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...

    SpringBoot基础(二)集成Mybatis和Druid连接池

    在本教程中,我们将深入探讨如何在SpringBoot项目中集成Mybatis和Druid数据库连接池。SpringBoot以其简洁、快速的起步方式深受开发者喜爱,而Mybatis作为一个轻量级的持久层框架,使得SQL操作更加灵活,Druid则是一...

    springboot+vue+swagger+redis+mysql+mybatis+pagehelper+druid+quartz

    该项目是一个完整的后台管理系统,采用了主流的技术栈,包括SpringBoot、Vue、Swagger、Redis、MySQL、MyBatis、PageHelper、Druid以及Quartz。以下将详细介绍这些技术及其在项目中的应用。 1. **SpringBoot**:...

    Springboot+Mybatis+Druid多数据源配置

    本教程将围绕"Springboot+Mybatis+Druid多数据源配置"这一主题,详细介绍如何实现这一功能。 首先,Spring Boot简化了Spring应用的初始化和配置。在多数据源场景下,我们可以通过Spring Boot的@...

    spring boot 整合 mybatis,使用Druid数据源

    在本文中,我们将深入探讨如何将Spring Boot框架与MyBatis持久层框架集成,并使用Druid作为数据源。Spring Boot以其简洁的配置和自动化配置能力,使得开发过程更加高效;MyBatis则提供了灵活的SQL映射机制,而Druid...

    SSM中使用Druid连接池代码

    在Java Web开发中,SSM(Spring、Spring MVC、MyBatis)框架组合是常见的选择,而Druid作为一款高效、强大的数据库连接池,被广泛应用于SSM项目中。本教程将详细介绍如何在SSM项目中配置并使用Druid连接池。 首先,...

    java-mybatis、springmvc 整合demo源码(druid-demo)

    在整合MyBatis和Spring时,我们可以选择使用DruidDataSource替换默认的数据源。 然后,我们来讨论@Transactional注解。在Java中,`@Transactional`用于声明方法级别的事务管理。当方法执行过程中出现异常,Spring会...

    Spring Boot整合Mybatis使用druid实现多数据源自动切换

    5. 配置Mybatis的数据源:在Mybatis的配置中,指定使用我们自定义的数据源。 6. 在Service层实现数据源的切换:通过ThreadLocal存储当前线程使用的数据源,根据业务需求在Service层动态切换。 7. 测试验证:编写...

    springboot+ mybatis+druid连接池(带监控)

    在构建Web应用时,Spring Boot、MyBatis和Druid连接池的组合是常见的选择,因为它们能够提供高效、稳定且可监控的数据访问层。本文将深入探讨这些组件以及如何结合使用它们,尤其是如何实现Druid的监控功能。 首先...

    Spring-Mybatis-Druid示例整合Demo

    - 配置SqlSessionFactory:基于DruidDataSource创建SqlSessionFactoryBean,指定Mybatis的配置文件路径。 - 配置MapperScannerConfigurer:扫描指定包下的Mapper接口,使其与XML中的SQL映射文件关联。 - 编写...

    mybatis+druid association 切换数据源

    接下来,我们需要在MyBatis的配置中使用这个自定义的DruidDataSource。在mybatis-config.xml文件中,将数据源类型指定为我们创建的子类,并配置多个数据源的相关信息,如数据库URL、用户名、密码等。这样,MyBatis在...

    Springboot+mybatis+druid多数据源配置(oracle+mybatis)

    本篇将详细讲解如何在Spring Boot项目中结合Mybatis和Druid实现多数据源配置,以支持Oracle和MySQL两种数据库,并进行数据库的分离调试。 首先,我们要理解Spring Boot的自动配置机制。Spring Boot通过扫描`@...

Global site tag (gtag.js) - Google Analytics