`
bit1129
  • 浏览: 1070004 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【持久化框架MyBatis3六】MyBatis3集成第三方DataSource

 
阅读更多

MyBatis内置了数据源的支持,如:

 

	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driverClassName}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
			</dataSource>
		</environment>

 type为POOLED的数据源是MyBatis内置的数据源类型(它是一个类型别名)。POOLED对应的数据库连接池工厂是org.apache.ibatis.datasource.pooled.PooledDataSourceFactory,它必须实现接口 org.apache.ibatis.datasource.DataSourceFactory

 

package org.apache.ibatis.datasource.pooled;

import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;

public class PooledDataSourceFactory extends UnpooledDataSourceFactory {

  public PooledDataSourceFactory() {
    this.dataSource = new PooledDataSource();
  }

}

 

目前有各种各样的数据源实现,如果在项目中要使用第三方的数据源,如何将它配置到MyBatis中呢?通过实现 org.apache.ibatis.datasource.DataSourceFactory将数据源集成到MyBatis中。本文以Druid数据源为例。

 

 实现DataSourceFactory接口

 

package com.mybatis3.datasource;

import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.datasource.DataSourceFactory;

import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.Properties;

public class DruidDataSourceFactory implements DataSourceFactory {
    private  Properties props;
    @Override
    public void setProperties(Properties props) {
        this.props = props;
    }

    @Override
    public DataSource getDataSource() {
        DruidDataSource dds =  new DruidDataSource();
        dds.setUrl(this.props.getProperty("url"));
        dds.setPassword(this.props.getProperty("password"));
        dds.setUsername(this.props.getProperty("username"));
        dds.setDriverClassName("com.mysql.jdbc.Driver");
        //其他配置可以根据MyBatis主配置文件进行配置
        try {
            dds.init();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return dds;
    }
}

 

 

 

主配置文件配置:

1. DRUID类型别名:

 

    <typeAliases>
        <typeAlias type="com.mybatis3.datasource.DruidDataSourceFactory" alias="DRUID"/>
   </typeAliases>

 

2. 数据源配置

 

<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="DRUID">
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/test" />
                <property name="username" value="root" />
                <property name="password" value="root" />

                <property name="maxActive" value="20" />
                <property name="initialSize" value="1" />
                <property name="maxWait" value="60000" />
                <property name="minIdle" value="1" />

                <property name="timeBetweenEvictionRunsMillis" value="3000" />
                <property name="minEvictableIdleTimeMillis" value="300000" />

                <property name="validationQuery" value="SELECT 'x' FROM DUAL" />
                <property name="testWhileIdle" value="true" />
                <property name="testOnBorrow" value="false" />
                <property name="testOnReturn" value="false" />
                <!-- mysql 不支持 poolPreparedStatements-->
                <!--<property name="poolPreparedStatements" value="true" />-->
                <!--<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />-->

                <!-- 开启Druid的监控统计功能 -->
                <property name="filters" value="stat" />
			</dataSource>
		</environment>

  

 

 

 

 

0
0
分享到:
评论

相关推荐

    MyBatis3官方中文文档

    这个过程是MyBatis集成到项目中的第一步,为后续的数据库操作打下基础。 其次,MyBatis的核心概念之一是SqlSessionFactory,每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心的。SqlSessionFactory...

    Spring4集成JPA和MyBatis3简单例子

    本示例将探讨如何在Spring4环境下集成JPA与MyBatis3,帮助开发者理解如何在同一个项目中利用这两种技术。 **1. Spring4框架** Spring4是Spring框架的一个版本,它增强了性能,提供了对Java 8的全面支持,并且改进了...

    myBatis 第三方框架集成1

    myBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Spring 框架则是一个全面的企业级应用开发框架,提供了依赖注入、事务管理等功能。将 myBatis 集成到 Spring 中,可以充分利用 Spring 的...

    mybatis框架笔记

    MyBatis将Java对象转换为SQL语句,实现了数据的持久化。 五、MyBatis第一个程序 1. 需求:将内存中的对象持久化到数据库。 2. 搭建步骤: (1)导入jar包:将MyBatis的jar包及其依赖包放到项目的根目录的lib...

    MyBatis框架 jar包及Spring-MyBatis整合jar包

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...

    myBatis系列之六:与SpringMVC集成

    myBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,解决了几乎所有的JDBC代码和手动设置参数的问题。而SpringMVC是Spring框架的一部分,主要用于构建Web应用程序,提供了模型-视图-控制器...

    MyBatis 3 整合Spring3、SpringMVC

    在企业级应用开发中,MyBatis作为一款轻量级的持久层框架,与Spring的集成是常见的做法,可以实现灵活的数据访问和事务管理。SpringMVC则用于处理前端请求,构建MVC架构。以下将详细介绍如何在JavaEE环境中整合这三...

    MyBatis 3 开发指南(中文版).zip

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发中的数据库操作。这个压缩包包括三个PDF文件,分别覆盖了MyBatis的基础、与Spring的整合以及教程内容,对于学习和深入...

    spring+mybatis框架搭建

    Spring作为一个全面的后端框架,提供了依赖注入、AOP(面向切面编程)、事务管理等核心功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL映射和数据库交互。将这两个框架结合使用,可以构建出高效、灵活且易于...

    spring,mybatis框架组合

    Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,而MyBatis则是一个轻量级的持久层框架,专注于数据库操作,它简化了SQL的编写和执行过程。接下来,我们将深入...

    spring-boot +MyBatis 框架集成

    Spring Boot是Spring框架的简化版本,它旨在简化初始设置并提供开箱即用的功能,而MyBatis则是一个轻量级的持久层框架,它将SQL操作与Java代码紧密集成,提供了灵活的数据访问。 首先,我们来看标题"spring-boot +...

    Spring集成Mybatis所需jar包

    而MyBatis则是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,简化了SQL操作。将两者结合使用,可以实现灵活且高效的数据库操作。 在进行Spring与MyBatis的集成时,我们需要引入一系列的jar包来...

    Spring+SpringMVC+Mybatis框架整合

    Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    MyBatis3(入门教程)

    在MyBatis3中,从SqlSessionFactory获取SqlSession是执行持久化操作的关键步骤。 MyBatis用户指南详细介绍了MyBatis的使用方法,包括如何从XML配置文件创建SqlSessionFactory实例,以及如何不使用XML来创建...

    MyBatis 3 中文参考文档

    MyBatis是一个流行的Java持久层框架,它支持定制化SQL、存储过程以及...开发者也可以集成第三方缓存框架,如Ehcache,来提供分布式缓存支持。缓存机制可以显著提高应用的性能,特别是在数据库访问非常频繁的情况下。

    spring-mybatis集成jar包以及文档

    Spring 和 MyBatis 是两个非常流行的 Java 开发框架,Spring 提供了全面的后端服务管理,而 MyBatis 则是一个优秀的持久层框架,它简化了 SQL 的操作。将两者进行集成,可以发挥各自的优势,实现高效、灵活的数据...

    spring+netty+mybatis整合实例

    MyBatis是一个持久层框架,它支持定制化SQL、存储过程以及高级映射,使得数据库操作更加便捷。现在,我们将详细讨论如何将这三个框架整合起来,实现一个简单的Socket服务。 首先,我们需要配置Spring框架。Spring的...

    Windchill+spring+mybatis

    而MyBatis则是一款优秀的持久层框架,它支持自定义SQL查询、存储过程以及高级映射。结合使用Spring和MyBatis可以极大提高Java Web应用程序的开发效率和代码质量。 #### 三、集成步骤详解 本部分将详细介绍如何在...

    Spring集成Mybatis所需所有jar

    Spring 提供了一个全面的应用程序开发框架,而 MyBatis 是一个轻量级的持久层框架,它简化了 SQL 查询与Java 代码的绑定。本文将详细介绍如何将这两个框架集成,并探讨相关jar文件的作用。 首先,集成 Spring 和 ...

    spring4.3.10+springMVC+mybatis Maven框架集成代码

    这个压缩包文件"spring4.3.10+springMVC+mybatis Maven框架集成代码"包含了这三个组件的整合示例,且标注为可运行状态,意味着它提供了一个完整的开发环境,方便开发者理解和学习如何将这些框架协同工作。...

Global site tag (gtag.js) - Google Analytics