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>
相关推荐
这个过程是MyBatis集成到项目中的第一步,为后续的数据库操作打下基础。 其次,MyBatis的核心概念之一是SqlSessionFactory,每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心的。SqlSessionFactory...
本示例将探讨如何在Spring4环境下集成JPA与MyBatis3,帮助开发者理解如何在同一个项目中利用这两种技术。 **1. Spring4框架** Spring4是Spring框架的一个版本,它增强了性能,提供了对Java 8的全面支持,并且改进了...
myBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Spring 框架则是一个全面的企业级应用开发框架,提供了依赖注入、事务管理等功能。将 myBatis 集成到 Spring 中,可以充分利用 Spring 的...
MyBatis将Java对象转换为SQL语句,实现了数据的持久化。 五、MyBatis第一个程序 1. 需求:将内存中的对象持久化到数据库。 2. 搭建步骤: (1)导入jar包:将MyBatis的jar包及其依赖包放到项目的根目录的lib...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...
myBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,解决了几乎所有的JDBC代码和手动设置参数的问题。而SpringMVC是Spring框架的一部分,主要用于构建Web应用程序,提供了模型-视图-控制器...
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发中的数据库操作。这个压缩包包括三个PDF文件,分别覆盖了MyBatis的基础、与Spring的整合以及教程内容,对于学习和深入...
Spring作为一个全面的后端框架,提供了依赖注入、AOP(面向切面编程)、事务管理等核心功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL映射和数据库交互。将这两个框架结合使用,可以构建出高效、灵活且易于...
Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,而MyBatis则是一个轻量级的持久层框架,专注于数据库操作,它简化了SQL的编写和执行过程。接下来,我们将深入...
Spring Boot是Spring框架的简化版本,它旨在简化初始设置并提供开箱即用的功能,而MyBatis则是一个轻量级的持久层框架,它将SQL操作与Java代码紧密集成,提供了灵活的数据访问。 首先,我们来看标题"spring-boot +...
而MyBatis则是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,简化了SQL操作。将两者结合使用,可以实现灵活且高效的数据库操作。 在进行Spring与MyBatis的集成时,我们需要引入一系列的jar包来...
Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...
在MyBatis3中,从SqlSessionFactory获取SqlSession是执行持久化操作的关键步骤。 MyBatis用户指南详细介绍了MyBatis的使用方法,包括如何从XML配置文件创建SqlSessionFactory实例,以及如何不使用XML来创建...
MyBatis是一个流行的Java持久层框架,它支持定制化SQL、存储过程以及...开发者也可以集成第三方缓存框架,如Ehcache,来提供分布式缓存支持。缓存机制可以显著提高应用的性能,特别是在数据库访问非常频繁的情况下。
Spring 和 MyBatis 是两个非常流行的 Java 开发框架,Spring 提供了全面的后端服务管理,而 MyBatis 则是一个优秀的持久层框架,它简化了 SQL 的操作。将两者进行集成,可以发挥各自的优势,实现高效、灵活的数据...
MyBatis是一个持久层框架,它支持定制化SQL、存储过程以及高级映射,使得数据库操作更加便捷。现在,我们将详细讨论如何将这三个框架整合起来,实现一个简单的Socket服务。 首先,我们需要配置Spring框架。Spring的...
而MyBatis则是一款优秀的持久层框架,它支持自定义SQL查询、存储过程以及高级映射。结合使用Spring和MyBatis可以极大提高Java Web应用程序的开发效率和代码质量。 #### 三、集成步骤详解 本部分将详细介绍如何在...
Spring 提供了一个全面的应用程序开发框架,而 MyBatis 是一个轻量级的持久层框架,它简化了 SQL 查询与Java 代码的绑定。本文将详细介绍如何将这两个框架集成,并探讨相关jar文件的作用。 首先,集成 Spring 和 ...
这个压缩包文件"spring4.3.10+springMVC+mybatis Maven框架集成代码"包含了这三个组件的整合示例,且标注为可运行状态,意味着它提供了一个完整的开发环境,方便开发者理解和学习如何将这些框架协同工作。...