iBATIS配置文件——sqIMapConfig.xml

本文详细解析了MyBatis配置文件的各项设置,包括属性配置、类型别名、插件及事务管理等内容,并提供了SimpleDataSourceFactory、DbcpDataSourceFactory和JndiDataSourceFactory三种数据源配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?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">
<sqlMapConfig>
	<properties>
		<property name="dialect" value="mysql" />
		<property name="Driver" value="JDBC.Driver" />
		<property name="ConnectionURL" value="JDBC.ConnectionURL" />
		<property name="Username" value="JDBC.Username" />
		<property name="Password" value="JDBC.Password" />
		<property name="MaximumActiveConnections" value="Pool.MaximumActiveConnections" />
		<property name="MaximumIdleConnections" value="Pool.MaximumIdleConnections" />
		<property name="MaximumCheckoutTime" value="Pool.MaximumCheckoutTime" />
		<property name="TimeToWait" value="Pool.TimeToWait" />
		<property name="PingQuery" value="Pool.PingQuery" />
		<property name="PingEnabled" value="Pool.PingEnabled" />
		<property name="MaximumCheckoutTime" value="Pool.PingConnectionsOlderThan" />
		<property name="PingConnectionsNotUsedFor" value="Pool.PingConnectionsNotUsedFor" />
		
	</properties>
	<typeAliases>
		<typeAlias alias="user" type="com.demo.core.bean.UserInfo" />
	</typeAliases>
	<plugins>
		<plugin interceptor="com.demo.core.dao.mybatis.sqlpage.PaginationInterceptor" />
	</plugins>
	
	<settings 
		maxRequests="512"
		maxSessions="128"
		maxTransactions="32"
		cacheModelsEnabled="true" 
		lazyLoadingEnabled="true"
		enhancementEnabled="true" 
		useStatementNamespaces="true"  />


	<!-- 数据源 -->
	<!-- 1.SimpleDataSourceFactory数据源 ,适用于没有Java EE提供DataSource的情况下。-->
	<transactionManager type="JDBC"> 
		<dataSource type="SIMPLE">
			<property name="${Driver}" value="com.mysql.jdbc.Driver" />
			<property name="${ConnectionURL}" value="jdbc:mysql://localhost:3306/demo" />
			<property name="${Username}" value="root" />
			<property name="${Password}" value="123" />
			<!-- 可选 -->
			<property name="${MaximumActiveConnections}" value="10" />
			<property name="${MaximumIdleConnections}" value="5" />
			<property name="${MaximumCheckoutTime}" value="120000" />
			<property name="${TimeToWait}" value="500" />
			<property name="${PingQuery}" value="select 1 from user" />
			<property name="${PingEnabled}" value="false" />
			<property name="${PingConnectionsOlderThan}" value="1" />
			<property name="${PingConnectionsNotUsedFor}" value="1" />
		</dataSource>
	</transactionManager>
	<!-- 2.DbcpDataSourceFactory数据源
		使用Jakarta DBCP(Database Connection Pool)的DataSourceAPI提供连接池服务。
		适用于应用服务器和Web容器不提供DataSource服务的情况,或执行一个单独的应用。
	 -->
	<transactionManager type="JDBC"> 
		<dataSource type="DBCP">
			<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
			<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/demo" />
			<property name="JDBC.Username" value="root" />
			<property name="JDBC.Password" value="" />
			<!-- 可选 -->
			<property name="Pool.MaximumActiveConnections" value="10" />
			<property name="Pool.MaximumIdleConnections" value="5" />
			<property name="Pool.MaximumWait" value="60000" />
			 
			<property name="Pool.ValidationQuery" value="select 1 from user" />
			<property name="Pool.LogAbandoned" value="false" />
			<property name="Pool.RemoveAbandoned" value="false" />
			<property name="Pool.RemoveAbandonedTimeout" value="50000" />
		</dataSource>
	</transactionManager>
	<!-- 3.	JndiDataSourceFactory
		在应用容器内部从JNDI Context中查找DataSource实现。
		在使用应用服务器,并且服务器提供了容器管理的连接池和相关DataSource实现的情况下。
		
		需要在Server.xml中配置JNDI实例。
		<Context ...>
			<Resource name="jdbc/mydatasource" auth="Container" type="javax.sql.DataSource"/>
			<ResourceParams name="jdbc/mydatasource">
				<parameter>
					<name>username</name>
					<value>dbusername</value>
				</parameter>
				<parameter>
					<name>password</name>
					<value>dbpassword</value>
				</parameter>
				<parameter>
					<name>driverClassName</name>
					<value>org.hsql.jdbcDriver</value>
				</parameter>
				<parameter>
					<name>url</name>
					<value>jdbc:HypersonicSQL:database</value>
				</parameter>		
				<parameter>
					<name>maxActive</name>
					<value>8</value>
				</parameter>		
				<parameter>
					<name>maxIdle</name>
					<value>4</value>
				</parameter>
			</ResourceParams>
			...........
		</Context>
	 -->
	<transactionManager type="JDBC"> 
		<dataSource type="JNDI">
			<property name="DataSource" value="java:comp/env/jdbc/mydatasource" />
		</dataSource>
	</transactionManager>
	 <!-- 从类路径 -->
	<sqlMap resource="com/demo/ibatis/beans/address_SqlMap.xml" />
	<!-- 从URL加载 --> 
	<sqlMap URL="file://C:/config/address_SqlMap.xml" />
</sqlMapConfig>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值