0 0

如何用iBatis实现对多个相同结构的数据库的连接5

在项目的过程中,我发现有很多数据库里面的表数目和结构都是一样的(就是数据库名不一样而已),只不过每个数据库存的信息不一样,分别对应不同的项目而已。
现在的解决方法是用iBatis DAO framework,建立多个dao.xml,在初始化DaoManager的时候决定加载哪个DAO.xml。每个DAO.xml对应一个sql-map-config.xml.
但是这样对于同一个数据源有多个相同结构的数据库,变的很麻烦,都是一样的DAO和IMPL,只是具体定义sql的sqlMap文件里数据库名不同而已。 请问各位有什么方法能够更简单的实现这类需求吗?比如用一个sqlMap文件,定义动态的数据库名?或者动态加载DAO Interface的实现?
2009年3月11日 14:31
目前还没有答案

相关推荐

    简单的ibatis与mysql的交互

    在IT行业中,数据库管理和数据访问层的实现是关键部分,特别是在Java开发中。Ibatis作为一个轻量级的持久层框架,提供了SQL映射文件和Java接口的结合,使得开发者能够更方便地操作数据库。本教程将围绕“简单的...

    ibatis用xml配置文件配置使用

    2. **全局配置文件设置**:在`mybatis-config.xml`中,需要配置数据库连接信息,例如数据源(DataSource)、环境(Environment)、事务管理器(TransactionManager)和SqlSessionFactory。例如: ```xml ...

    iBATIS in Action

    此外,《iBATIS in Action》还提供了多个实战案例,展示了如何在真实的项目中运用iBATIS的各种特性。这些案例涵盖了不同领域的应用,为读者提供了宝贵的经验参考。 ### 结论 通过对《iBATIS in Action》一书的深入...

    ibatis教程学习笔记

    当多个映射文件中的 SQL 语句 ID 相同但意义不同时,可以通过命名空间进行区分。例如: ```xml <sqlMap namespace="com.lovo.ibatis.student"> <!-- 映射文件中的 SQL 语句 --> ``` 在这个例子中,所有的 SQL ...

    mybatis笔记文档

    通过对原生JDBC的改进,解决了许多常见问题,如数据库连接管理、SQL语句硬编码等问题。此外,MyBatis还提供了高级功能,如动态SQL、延迟加载等,使得开发者能够更加灵活地处理复杂的业务逻辑。通过学习和掌握MyBatis...

    sql语句中用问号代替参数

    2. **提高性能**:预编译的SQL语句可以在数据库中缓存,多次执行相同结构但不同参数的查询时,可以显著提高执行效率。数据库只需解析一次SQL模板,然后用新参数替换问号即可。 3. **减少错误**:动态构建SQL字符串...

    SSH之Hibernate总结

    Hibernate的配置文件(hibernate.cfg.xml)包含了数据库连接信息、方言、缓存设置等关键参数。配置文件中的SessionFactory是整个应用的核心,用于创建Session实例。 5. ID生成策略(重点AUTO) Hibernate提供了...

    eai 开发工作总结

    1. **EAI (Enterprise Application Integration)**: EAI 是企业应用集成的缩写,它涉及连接和协调企业内部或不同企业间的多个独立应用程序,以实现数据和业务流程的无缝集成。EAI 项目通常包括设计、开发、实施和...

    JAVA+ORALCE面试题汇总

    - **Overload(重载)**:在同一个类中可以定义多个方法,只要它们的方法名相同而参数列表不同即可。参数列表的不同指的是参数的数量、类型或顺序不同。编译器会根据传递的实际参数来决定调用哪个方法。 - **...

    Java程序员面试综合

    - 适用于需要在多个页面间保持用户状态的场景。 #### 如何格式化日期 ```java import java.text.SimpleDateFormat; import java.util.Date; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss...

    最新Java面试宝典pdf版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    MyBatis.md

    2. **使用二级缓存**:相比于一级缓存,二级缓存可以在多个 SqlSession 实例之间共享,因此更加适合 Spring 环境。需要注意的是,为了启用二级缓存,需要在 Mapper 文件中显式声明 `<cache/>` 标签。 3. **自定义...

    Java面试宝典-经典

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    java面试题大全(2012版)

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    Java面试宝典2012版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用...

    java面试宝典2012

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 8 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

Global site tag (gtag.js) - Google Analytics