如何实现从一个数据库连接到另一个数据库

如何实现从一个数据库连接到另一个数据库,第1张

ibatis连接数据库的方式是通过下面两个文件实现的:

1.appcontext-common.xml

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName">

<value>${jdbc.database.driver}</value>

</property>

<property name="url">

<value>${jdbc.database.url}</value>

</property>

<property name="username">

<value>${jdbc.database.username}</value>

</property>

<property name="password">

<value>${jdbc.database.password}</value>

</property>

</bean>

2.appcontext.xml

<bean id="resMonitorDao"

class="com.zltel.zjmonitor.resmonitor.dao.ibatis.ResMonitorDaoImpl"

parent="baseIbatisDao">

</bean>

<bean id="resMonitorService"

class="com.zltel.zjmonitor.resmonitor.service.impl.ResMonitorServiceImpl">

<property name="resMonitorDao">

<ref local="resMonitorDao" />

</property>

</bean>

ibatis查询方法:

private static final String NAMESPACE = "resMonitor."

public List<MonitorType>queryMonitorTypeForList() {

return this.getSqlMapClientTemplate().queryForList(

NAMESPACE + "queryMonitorTypeForList")

}

应用工厂模式.把数据库联接作接口.再用点反射

给一小段代码参考

public DbDriver()

{

// 获取程序集名称

assemblyName = ConfigurationManager.AppSettings["AssemblyName"]

// 获取默认构造器名称

constructor = ConfigurationManager.AppSettings["Constructor"]

}

public IDataTask DriveLWordTask()

{

// 建立 IDataTask 对象实例

return (IDataTask)Assembly.Load(assemblyName).CreateInstance(constructor, false)

}

assemblyName是某种具体数据库连接方式的程序集名.改变配置中的程序集名即得到不同的连接方式,不明白就先看下工厂模式

第一步:客户端查找相关的Hosts文件。

客户端一开始也不知道主机名对应的IP地址是多少。故需要把这个主机名解析成对应的IP地址,如此的话,客户端才能够连接到服务器上。要解析这个主机名的话,可以通过Host文件或者DNS服务器来完成。

通常情况下,客户端是先去查询本机上的Host文件,看看有没有对应的纪录。

如果没有的话,则去寻找网络中存在的DNS服务器要求解析。

第二步:客户端联系服务器。

当客户端获得服务器的IP地址后,就会跟服务器进行联系。

客户端会把用户名与密码发送给服务器。注意此时客户端不会把服务名称告诉给服务器。因为默认情况下,服务器上只会安装一个应用服务。故客户端只要把用户名与密码告诉给服务器,数据库服务器就会允许用户连接唯一的一个应用服务。

故如果要用户连接同一台主机上的不同Oracle数据库服务,则需要数据库能够识别客户端到底需要连接哪个应用服务,也就是说,需要客户端能够把应用服务的名称也传递给服务器。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9672484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存