`
aokunsang
  • 浏览: 816040 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis模块化开发

阅读更多

项目已经做完一段时间了,蓦然回首中,发现项目在开发模块化方面做的很好,包括对ibatis的sqlMap以及它的映射文件全部进行了模块化开发,看起来一目了然,自然清新,和大家分享一下。

 

前言:

        首先需要把sqlMap文件全部独立出来,怎么样既与DAO相连,也能够看着是独立于Java代码之外的呢。我们需要建立一个source folder,命名为sqlmap,只要sqlMapConfig配置文件、映射文件的包名和Java代码的DAO的包名保持一致就OK,就能够操作同一个包一样,虽然它们处于不同的sourcefolder里面。【结构截图见附件】

          一般的话,大家可能都会只写一个sqlMapConfig配置文件,把所有的映射文件全部都放它里面,如果项目大的话,会有多少映射文件啊,效果当然不好。这样,我们也需要把sqlMapConfig进行模块化,如:sqlMapConfig-XXX.xml,那么怎么调用它,接下来就是见证奇迹的时刻....

 

过程:

      建立一个静态的sqlMapClientManager类,对sqlMapClient和sqlMapConfig-XXX.xml进行管理,废话说完,贴上简短代码,大家就清楚了。

 

private static Hashtable<String,SqlMapClient> sqlMapClients = new Hashtable<String,SqlMapClient>();
	
	/**
	 * 获取对应数据库的SqlMapClient
	 * 		前提:有对应数据库的sqlMapConfig,命名规则为:sqlMapConfig-模块名.xml
	 * @param dbName  模块名
	 * @return 异常时返回null
	 */
	public static SqlMapClient getSqlMapClient(String dbName){
		SqlMapClient sqlMap = sqlMapClients.get(dbName);
		if(sqlMap==null){
			sqlMap = buildSqlMapClient(dbName);
			if(sqlMap!=null){
			sqlMapClients.put(dbName, sqlMap);
			}
		}
		return sqlMap;
		
	}
	
	/**
	 * 构建SqlMapClient
	 * @param dbName 模块名
	 * @return 
	 * @throws IOException 
	 */
	private static SqlMapClient buildSqlMapClient(String dbName){
		SqlMapClient sqlMap = null;	
		try{
			String resource ="com/test/common/dao/sql/sqlMapConfig-"+dbName+".xml";
			Reader reader = Resources.getResourceAsReader(resource);
			sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);	
		}catch(Exception e){
			log.error(e);
		}
		return sqlMap;		
	}

 我们可以根据sqlMapClientManager的getSqlMapClient(String dbName)方法获取不同模块的SqlMapClient,然后在DAO中进行增删查改。如:

//根据模块名获取sqlMapClient对数据库操作	
SqlMapClient sqlMapClient = SqlMapClientManager.getSqlMapClient("web");
		try {
			list=(ArrayList<CityBean>)sqlMapClient.queryForList("Base_City.get",null);
                                   }catch(Exception e){}

 

  • 大小: 10.2 KB
分享到:
评论

相关推荐

    spring struts ibatis 开发框架

    此外,Spring的AOP功能允许开发者定义切面,实现如日志记录、事务管理等跨切面关注点的模块化。 Struts框架是基于MVC设计模式的,主要负责处理HTTP请求。当用户发送请求到服务器时,Struts框架会根据配置的Action ...

    ibatis+spring+struts2 整合开发例子

    在IT行业中,集成框架的使用是提升开发效率和优化项目...在实际项目中,这样的集成方式可以提供强大的功能,同时保持代码的清晰和模块化。通过学习和掌握这种整合方式,开发者可以更好地应对复杂的企业级应用开发挑战。

    基于struts+spring+ibatis的J2EE开发

    Spring Framework是一个全面的、模块化的Java应用框架,包含了AOP、ORM、DAO、Context、Web、MVC等多个组件。在JpetStore 4.0中,Spring主要应用于业务层的改造,通过AOP提供事务管理,使用Beanfactory分离接口与...

    IBATIS2开发指南

    1. **模块化设计**:将SQL映射文件按业务模块划分,便于管理和维护。 2. **异常处理**:合理使用try-catch结构,对可能出现的数据库异常进行处理。 3. **事务管理**:根据业务需求正确配置事务隔离级别和回滚规则。 ...

    基于struts+spring+ibatis的 J2EE 开发.rar

    它们共同构建了SSH(Struts、Spring、Hibernate)体系,虽然这里的"H"被替换为"Ibatis",但核心理念是一样的,即通过组件化的方式实现企业级应用程序的高效开发。这个“基于struts+spring+ibatis的 J2EE 开发.rar”...

    C# IBatis IBatis基础 完整项目

    1. **MessageBoard**:这可能是项目中的一个模块,比如一个论坛或者消息板,用于展示如何在实际应用中使用IBatis进行数据操作。它可能包括控制器、视图和模型类,展示了C#和Mvc框架的应用。 2. **DB**:这通常表示...

    Spring hibernate ibatis 开发指南三合一

    Spring是一个全面的后端应用程序框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,使得代码更加模块化和可测试。Spring还提供了对数据库操作的支持,如JDBC模板,同时还能与ORM框架(如Hibernate和...

    java经典开发模块之ibatis+struts2+springdataCollection

    这个“java经典开发模块之ibatis+struts2+spring dataCollection”项目,旨在通过整合这三个组件,实现一个数据汇集系统,以提供数据的存储、查询和管理功能。 首先,Ibatis是一个轻量级的持久层框架,它弥补了JDBC...

    osgi-ibatis

    通过分析这个项目,你可以深入理解OSGi环境中的服务管理和模块化开发,以及iBatis在实际应用中的使用方式。对于希望在OSGi平台上构建可扩展、灵活的Java应用的开发者来说,这是一个非常有价值的参考资料。

    ibatis和hibernate的简单介绍

    5. **项目规模**:对于小型项目或模块化开发来说,ibatis的简单性和易用性可能是更合适的选择。 总之,ibatis和Hibernate各有优势,选择哪个取决于项目的具体需求以及团队的技术背景。在实际应用中,企业应综合考虑...

    maven整合ibatis的简单例子

    在Java开发中,Maven和iBatis是两个非常重要的工具。Maven是一个项目管理和综合工具,它帮助开发者管理依赖、构建项目,并提供了一种标准化的项目结构。而iBatis则是一个SQL映射框架,它将SQL语句与Java代码分离,...

    ibatis源码

    1. emis10(Struts2+iBATIS).zip:这个项目结合了Struts2和Ibatis,Struts2是一个MVC框架,它与Ibatis一起使用,可以构建出更高效、模块化的Web应用程序。在这个项目中,Ibatis作为数据访问层,负责与数据库交互,而...

    spring与ibatis整合集成实例

    Spring 和 iBATIS 是两个非常重要的 Java 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 是一个全面的后端开发框架,提供依赖注入、面向切面编程、事务管理等功能;而 iBATIS 是一个持久层框架,它简化了...

    基于struts2 spring ibatis jtds 的项目的jar包

    - **模块化**:Struts2的Action和Interceptor机制,使得业务逻辑和控制逻辑分离,便于模块化开发。 - **数据库操作的简便**:iBatis允许开发者直接编写SQL,提高了数据处理的效率和灵活性。 - **事务管理**:Spring...

    Spring struts ibatis Mysql 集成

    DI允许开发者通过配置文件或注解来管理对象之间的依赖关系,而AOP则允许模块化的横切关注点,如日志、事务管理等。Spring还提供了对Web应用的支持,如Spring MVC,与Struts集成时可提供更灵活的控制层实现。 **...

    Spring与iBATIS的集成

    在软件开发领域,特别是Java企业级应用开发中,Spring框架和iBATIS(现已更名为MyBatis)是非常重要的两个技术组件。Spring作为一款全面的企业级应用解决方案,其核心功能包括依赖注入、面向切面编程以及容器管理等...

    struts2_spring2.5_ibatis开发指南

    Spring 2.5 提供了依赖注入(DI)和面向切面编程(AOP),增强了应用程序的模块化和可测试性;而 iBATIS 则是一个持久层框架,使得数据库操作与业务逻辑分离,简化了数据访问。 **Struts2** 是Struts 1的升级版,它...

    IBATIS开发使用小结

    - 保持XML映射文件的整洁和模块化,便于管理和复用。 - 使用命名空间管理SQL语句,避免冲突。 - 合理利用缓存功能,提高应用性能。 - 对于复杂业务逻辑,适当使用存储过程。 综上所述,IBATIS.Net是一个强大的...

    maven 整合spring springmvc ibatis

    Spring框架是Java领域中著名的轻量级容器,它提供了面向切面编程(AOP)、依赖注入(DI)等功能,帮助开发者管理对象的生命周期和依赖关系,使得代码更加解耦和模块化。Spring还包含了SpringMVC,这是一个用于构建...

Global site tag (gtag.js) - Google Analytics