`
iwindyforest
  • 浏览: 234721 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MyBatis在非Spring环境下第三方DataSource设置

 
阅读更多

Spring环境下, MyBatis可以通过其本身的增强mybatis-spring提供的org.mybatis.spring.SqlSessionFactoryBean来注入第三方DataSource.

 

但是在非Spring的环境下, MyBatis的加载需要配置其自身的configuration xml文件,

代码段可能是下面这样的:

 

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

 其中type属性, 只有三个值可以选择, UNPOOLED, POOLED, 和JNDI

事实上DataSource标签的属性Type注入的不是DataSource对象, 而是DataSourceFactory对象, 所以通过对Type进行DataSource的注入是错误的.

我们首先需要建一个自己的DataSourceFactory类, 用来封装第三方DataSource, 实现代码(以Druid为例)是这样:

package com.java.mybatis.datasource;

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

import com.alibaba.druid.pool.DruidDataSource;

public class DruidDataSourceFactory extends UnpooledDataSourceFactory {
	public DruidDataSourceFactory() {
		this.dataSource = new DruidDataSource();
	}

}

 

然后就可以在config文件里面注入这个自定义的DataSourceFactory了,

 

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="com.java.mybatis.datasource.DruidDataSourceFactory">
                <!--<property name="driverClassName" value="org.h2.Driver" />-->
                <property name="url" value="jdbc:h2:tcp://localhost/C:/java/h2/data/test;MODE=MYSQL;MVCC=TRUE;DB_CLOSE_DELAY=-1;" />
                <property name="username" value="admin" />
                <property name="password" value="admin" />
                <property name="validationQuery" value="select now()" />
                <property name="testWhileIdle" value="true" />
                <property name="testOnBorrow" value="false" />
                <property name="testOnReturn" value="false" />                            
		<!--<property name="filters" value="slf4j" />-->
                <property name="poolPreparedStatements" value="false" />
                <property name="maxOpenPreparedStatements" value="-1" />
            </dataSource>
        </environment>
    </environments>

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    spring整合Mybatis

    `jar`包是指Java Archive,这里指的可能是项目运行所需的依赖库,包括Spring、Mybatis、Mybatis Generator以及其他第三方库。确保所有必要的jar包都已包含在项目类路径中,是项目成功运行的前提。 最后,`spring...

    mybatis数据库分页Spring原生例子

    在实际项目中,可以进一步优化,例如使用PageHelper等第三方分页插件,或者实现自定义的分页拦截器,以提供更强大的分页功能和更好的性能。 总的来说,MyBatis与Spring的结合使得开发者能够方便地进行数据库操作,...

    MyBatis和Spring结合的案例

    - Spring通过DataSource配置管理数据库连接,可以使用JDBC驱动或者第三方库如Druid或Apache DBCP。 - MyBatis通过SqlSessionFactoryBuilder创建SqlSessionFactory,SqlSessionFactory是MyBatis的核心,用于创建...

    mybatis+spring所需所有jar包

    除此之外,还有一些第三方库是整合Spring和MyBatis所必需的: 1. `log4j.jar`:日志记录框架,用于记录应用程序的运行情况和错误信息。 2. `slf4j-api.jar`:简单日志门面,可以方便地切换不同的日志实现。 3. `...

    spring boot中配置mybatis热加载.zip

    由于Java的内置`WatchService`可能在某些操作系统上表现不佳,你也可以选择使用第三方库如`file-watch-service`或`enhanced-file-watch-service`来增强文件变化的监听能力。 最后,确保在Spring Boot的配置类中启用...

    spring+mybatis jar

    1. `lib`:存放 Web 应用所需的第三方库,如 JAR 文件,这里很可能包含了 Spring 和 MyBatis 的 JAR 包。 2. `classes`:存储编译后的 Java 类文件,通常不直接包含在 JAR 包中,但在部署时需要。 3. `web.xml`:Web...

    Spring+mvc+mybatis Mapper xml自动加载

    其次,MyBatis本身并不提供XML文件的热加载功能,但我们可以借助第三方库如`spring-boot-devtools`(在Spring Boot项目中)或者自定义监听器来实现。例如,我们可以创建一个监听类,监听`ContextRefreshedEvent`事件...

    spring-boot-starter-mybatis-spring-boot-1.3.4.zip

    综上所述,`spring-boot-starter-mybatis-spring-boot-1.3.4`是Spring Boot与MyBatis集成的一个早期版本,它简化了集成过程,降低了开发难度,同时也展示了Spring Boot生态中对于第三方库的强大支持。在实际应用中,...

    spring boot整合mybatis

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、...

    myBatis 第三方框架集成1

    关于 Mapper 对象的线程安全性,原生的 myBatis 中,Mapper 对象与 SqlSession 的生命周期同步,因此在多线程环境下可能存在线程安全问题。但在 Spring 集成中,MapperFactoryBean 创建的是单例的 Mapper 对象,为了...

    spring-boot集成mybatis2

    3. **文件存储**: 文件可以存储在本地文件系统、云存储服务,或者通过其他第三方服务进行存储。 **三、Excel数据自动解析** 1. **引入依赖**: 添加Apache POI库,这是一个用于处理Microsoft Office格式文件的Java...

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

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

    spring-boot-starter-mybatis-spring-boot-1.2.2.tar.gz

    此外,描述中提到了"免费下载",这意味着这些资源可以在官方或第三方仓库中免费获取,这对于开发者来说是一个非常友好的政策。同时,强调了"各个版本",意味着无论你是新手还是老手,都可以找到适合自己的版本进行...

    Spring整合Mybatis

    7. **完美分页**:在Spring整合Mybatis时,实现分页查询通常有两种方式:一是使用Mybatis的limit/offset分页,二是使用PageHelper等第三方分页插件。后者能提供更强大的分页功能,如物理分页、参数校验等。 8. **...

    spring-boot +MyBatis 框架集成

    在本文中,我们将深入探讨如何将Spring Boot与MyBatis框架进行集成,以便在Java...在实际项目中,还可以结合其他Spring Boot特性,如Actuator用于健康检查,Security实现权限管理,以及其他第三方库实现更复杂的功能。

    MyBatis-搭建MyBatis开发环境一(MyEclipse版)

    MyEclipse本身并不直接包含MyBatis的支持,但可以通过安装第三方插件实现。例如,你可以搜索"MyBatis Generator for MyEclipse"插件,该插件可以帮助自动生成MyBatis的Mapper接口、XML映射文件和实体类,大大简化...

    12spring4_mybatis.rar

    这个案例可能还包括其他一些辅助配置,比如日志框架(如 Log4j)、Spring MVC(如果这是一个 Web 应用),以及其他第三方库的使用。通过深入研究这个项目,开发者可以学习到如何在实际项目中有效地整合 Spring 和 ...

    spring整合mybatis

    - **MyBatis-Spring**:为了简化整合过程,存在一个名为`mybatis-spring`的第三方库,它为Spring和MyBatis提供了一组适配器和工具类。 - **配置文件**:整合的关键在于配置Spring的Bean定义,包括数据源、...

    spring boot mybatis 多数据源与缓存.zip

    最后,lib目录中的JAR文件可能是项目依赖的第三方库,包括Spring Boot、MyBatis、数据源驱动等相关组件。 总的来说,这个项目旨在教授如何在Spring Boot中配置多数据源,利用MyBatis进行数据库操作,并实现二级缓存...

Global site tag (gtag.js) - Google Analytics