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>
相关推荐
`jar`包是指Java Archive,这里指的可能是项目运行所需的依赖库,包括Spring、Mybatis、Mybatis Generator以及其他第三方库。确保所有必要的jar包都已包含在项目类路径中,是项目成功运行的前提。 最后,`spring...
在实际项目中,可以进一步优化,例如使用PageHelper等第三方分页插件,或者实现自定义的分页拦截器,以提供更强大的分页功能和更好的性能。 总的来说,MyBatis与Spring的结合使得开发者能够方便地进行数据库操作,...
- Spring通过DataSource配置管理数据库连接,可以使用JDBC驱动或者第三方库如Druid或Apache DBCP。 - MyBatis通过SqlSessionFactoryBuilder创建SqlSessionFactory,SqlSessionFactory是MyBatis的核心,用于创建...
除此之外,还有一些第三方库是整合Spring和MyBatis所必需的: 1. `log4j.jar`:日志记录框架,用于记录应用程序的运行情况和错误信息。 2. `slf4j-api.jar`:简单日志门面,可以方便地切换不同的日志实现。 3. `...
由于Java的内置`WatchService`可能在某些操作系统上表现不佳,你也可以选择使用第三方库如`file-watch-service`或`enhanced-file-watch-service`来增强文件变化的监听能力。 最后,确保在Spring Boot的配置类中启用...
1. `lib`:存放 Web 应用所需的第三方库,如 JAR 文件,这里很可能包含了 Spring 和 MyBatis 的 JAR 包。 2. `classes`:存储编译后的 Java 类文件,通常不直接包含在 JAR 包中,但在部署时需要。 3. `web.xml`:Web...
其次,MyBatis本身并不提供XML文件的热加载功能,但我们可以借助第三方库如`spring-boot-devtools`(在Spring Boot项目中)或者自定义监听器来实现。例如,我们可以创建一个监听类,监听`ContextRefreshedEvent`事件...
综上所述,`spring-boot-starter-mybatis-spring-boot-1.3.4`是Spring Boot与MyBatis集成的一个早期版本,它简化了集成过程,降低了开发难度,同时也展示了Spring Boot生态中对于第三方库的强大支持。在实际应用中,...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、...
关于 Mapper 对象的线程安全性,原生的 myBatis 中,Mapper 对象与 SqlSession 的生命周期同步,因此在多线程环境下可能存在线程安全问题。但在 Spring 集成中,MapperFactoryBean 创建的是单例的 Mapper 对象,为了...
3. **文件存储**: 文件可以存储在本地文件系统、云存储服务,或者通过其他第三方服务进行存储。 **三、Excel数据自动解析** 1. **引入依赖**: 添加Apache POI库,这是一个用于处理Microsoft Office格式文件的Java...
本教程将详细介绍如何在MyBatis中利用第三方库Druid来创建数据连接池,并以SQL Server为例进行配置和使用。 首先,我们需要理解MyBatis和Druid的基本概念。MyBatis是一个轻量级的ORM(对象关系映射)框架,它可以将...
此外,描述中提到了"免费下载",这意味着这些资源可以在官方或第三方仓库中免费获取,这对于开发者来说是一个非常友好的政策。同时,强调了"各个版本",意味着无论你是新手还是老手,都可以找到适合自己的版本进行...
7. **完美分页**:在Spring整合Mybatis时,实现分页查询通常有两种方式:一是使用Mybatis的limit/offset分页,二是使用PageHelper等第三方分页插件。后者能提供更强大的分页功能,如物理分页、参数校验等。 8. **...
在本文中,我们将深入探讨如何将Spring Boot与MyBatis框架进行集成,以便在Java...在实际项目中,还可以结合其他Spring Boot特性,如Actuator用于健康检查,Security实现权限管理,以及其他第三方库实现更复杂的功能。
MyEclipse本身并不直接包含MyBatis的支持,但可以通过安装第三方插件实现。例如,你可以搜索"MyBatis Generator for MyEclipse"插件,该插件可以帮助自动生成MyBatis的Mapper接口、XML映射文件和实体类,大大简化...
这个案例可能还包括其他一些辅助配置,比如日志框架(如 Log4j)、Spring MVC(如果这是一个 Web 应用),以及其他第三方库的使用。通过深入研究这个项目,开发者可以学习到如何在实际项目中有效地整合 Spring 和 ...
- **MyBatis-Spring**:为了简化整合过程,存在一个名为`mybatis-spring`的第三方库,它为Spring和MyBatis提供了一组适配器和工具类。 - **配置文件**:整合的关键在于配置Spring的Bean定义,包括数据源、...
最后,lib目录中的JAR文件可能是项目依赖的第三方库,包括Spring Boot、MyBatis、数据源驱动等相关组件。 总的来说,这个项目旨在教授如何在Spring Boot中配置多数据源,利用MyBatis进行数据库操作,并实现二级缓存...