如何把JAVA链接ORACLE数据库,MYSQL数据库,SQL SERVER 2000数据库的程序弄成一个通用的JDBC接口

毕业设计老师要我做成一个中间件(网上搜下没什么相关资料,郁闷!!),我不知道什么叫中间件...不懂!只知道最终做好的效果是输入不同的值链接不同的数据库。哪位高手能告诉我这... 毕业设计老师要我做成一个中间件(网上搜下没什么相关资料,郁闷!!),我不知道什么叫中间件...不懂!只知道最终做好的效果是输入不同的值链接不同的数据库。哪位高手能告诉我这做的到底是什么!!用到了什么JAVA知识!什么软件!!谢谢啦!!!!!!!
希望大家给我点实例看看!!!这样好懂。。麻烦了!!!
展开
 我来答
财神万岁86
2010-04-10 · TA获得超过1.1万个赞
知道小有建树答主
回答量:898
采纳率:0%
帮助的人:478万
展开全部
链接数据库用到JDBC,一般链接数据库都要用到数据库驱动、链接字符串、登录名、登录密码。这4个属性可以提取到一个父类中,每一种数据库写一个类继承父类。要是这些都没问题了,就可以用楼上哥们儿说的,简单工厂模式,简单工厂是用到了java中的多态特性。
import java.sql.Connection;

public abstract class BaseConnect {

public BaseConnect(String driverClass, String url, String loginName,
String password) {
super();
this.driverClass = driverClass;
this.url = url;
this.loginName = loginName;
this.password = password;
}

protected String driverClass;
protected String url;
protected String loginName;
protected String password;

public abstract void initDriver();

public abstract Connection getConnect();

public abstract void closeConnect(Connection conn);
}

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class OraclConnect extends BaseConnect {

public OraclConnect(String driverClass, String url, String loginName,
String password) {
super(driverClass, url, loginName, password);
// TODO Auto-generated constructor stub
}

@Override
public void initDriver() {
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

@Override
public Connection getConnect() {
try {
return DriverManager.getConnection(url, loginName, password);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}

@Override
public void closeConnect(Connection conn) {
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}

}
以此类推,上面代码是我随便一写,你自己再改进下。
xautwuyi
2010-04-09 · TA获得超过404个赞
知道小有建树答主
回答量:570
采纳率:0%
帮助的人:362万
展开全部
你们老师所说的中间件其实就是一个java类,
这个类实现通过输入的值指定链接的数据库。
给你个思路,
首先要实现3种数据的链接,类①;
然后作一个调用该类的类,类②;
在②中取得输入的值,然后传给①;
在①中根据得到的参数if else来判断链接哪种DB.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bullscc
2010-04-09 · TA获得超过179个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:93.1万
展开全部
不知道你学习过模式没有 有一个比较经典的模式 叫 工厂模式 这种模式有种灵活性 可以实现 传什么参数进去 就可以给你指定的对象
具体需要自己设计下
比如 你需要三种数据库连接 但是 每个连接的 规则是不一样的 那就需要你有个可以判断的条件
你可以这样区分 oracle mysql sqlserver 定义这三种参数 传递进去 那么就可以获得指定的连接了
然后 结合 properties 文件 进行 数据库连接的配置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5195152
2010-04-09 · TA获得超过1164个赞
知道大有可为答主
回答量:1314
采纳率:0%
帮助的人:699万
展开全部
你去阅读一下spring,hibernate,ibatis的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式