请问各位大神,java如何实现同时支持多种数据库啊?

请问各位大神,java如何实现同时支持多种数据库啊?,第1张

Java连数据库不管用不用框架底层都是JDBC,而JDBC对每种类型数据库需要重新配置驱动,多个数据库同时用就没法单独使用连接池了,每个数据库都要打开自己的连接池的。你可以考虑自己写一个适配器层接口和实现,实现里面写连接多种数据库的逻辑,在里面调用原生JDBC代码或Hibernate, MyBatis那些框架都可以,这样上面那些层都不用改变了。

就像下面这个(示例,只写了查,用Hibernate,其他类似):

public interface MultiTypeDBSupport {

public List getData()

// ...

}

public class MultiTypeDBSupportImpl implements MultiTypeDBSupport {

public SessionFactory getSessionFactory(Stirng configFile){

SessionFactory sessionFactory = Configuration().config(configFile).buildSessionFactory()

}

public List getData(){

SessionFactory sessionFactoryMySQL = getSessionFactory("hibernateMySQL.cfg.xml")

Session sessionMySQL = sessionFactoryMySQL.openSession()

List users1 = sessionMySQL.createQuery("from User")

SessionFactory sessionFactoryOracle = getSessionFactory("hibernateOracle.cfg.xml")

Session sessionOracle = sessionFactoryOracle.openSession()

List users2 = sessionOracle.createQuery("from User")

users1.addAll(users2)

return users1

}

// .......

}

常用的,我一般接触的就这两种。Oracle、Mysql,数据库上手其实好使蛮简单的,简单的查询、添加、修改、删除这四种还是蛮好学的,至于后期的进阶这个其实只要逻辑弄顺了,再加上知道的方法多一点其实还是不太难,至于大神级的。我还没有接触过不知道啥样了就


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存