您的位置:首页 > 编程语言 > Java开发

ibatis使用及在spring中的bean配置

2016-04-06 22:35 525 查看
package com.common;

import com.ibatis.sqlmap.client.SqlMapClient;

public interface MultiDBService {

/**
* 根据数据库名,获取对应的sqlclient
* @param dbname
* @return
*/
public SqlMapClient getClient(String dbname);
}


package com.common;

import java.util.Map;

import com.ibatis.sqlmap.client.SqlMapClient;

public final class MultiDBServiceImpl implements MultiDBService{
Map<String, SqlMapClient> clients;

public SqlMapClient getClient(String dbname) {
SqlMapClient ret = clients.get(dbname);
return ret;
}

public Map<String, SqlMapClient> getClients() {
return clients;
}
public void setClients(Map<String, SqlMapClient> clients) {
this.clients = clients;
}
}


package com.common;

public interface BaseService {

}


package com.common;

public class BaseServiceImpl implements BaseService{
public MultiDBService dbs;
public MultiDBService getDbs() {
return dbs;
}

public void setDbs(MultiDBService dbs) {
this.dbs = dbs;
}
}


bean配置

<bean id="mydatasource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<property name="initialSize" value="16"/>
<property name="maxActive" value="512"/>
<property name="maxIdle" value="16"/>
<property name="maxWait" value="3000"/>
<property name="validationQuery" value="select COUNT(*) from DUAL"/>
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="10000"/>
<property name="numTestsPerEvictionRun" value="5"/>
<property name="logAbandoned" value="true"/>
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="300"/>
</bean>

<bean id="mysqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="WEB-INF/sqlmap-configs/db_config.xml"/>
<property name="dataSource" ref="mydatasource"/>
</bean>

<bean id="dbs" class="com.common.MultiDBServiceImpl">
<property name="clients">
<map>
<entry>
<key><value>db_client</value></key>
<ref bean="mysqlMapClient"/>
</entry>
</map>
</property>
</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: