由于工作原因,这段时间需要接触Spring+Struts+Ibatis.所以参考或研究了下相关资源,写了一个简单的小例子,废话不多说,下面我们来谈谈SSI持久层的优化。
以前在写项目的时候,持久层都是针对一个业务层至少一个持久层的(多数项目如此),这种项目结构,无形中给我们增加了很多的工作量和无用的代码。我的例子中,持久层一共只有2个类,一个接口(实现数据UPDATE、Query操作),一个接口实现.接口代码如下:
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @param parameterObject 要插入的对象(map/javaBean)
* @function 插入一条数据
*/
public void insert(String statementName,Object parameterObject);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @function 插入一条数据
*/
public void insert(String statementName);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @param parameterObject 删除条件对象(map/javaBean)
* @function 删除一条记录
* @return 删除结果
*/
public int delete(String statementName, Object parameterObject);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @function 删除一条记录
* @return 删除结果
*/
public int delete(String statementName);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @param parameterObject 查询条件对象(map/javaBean)
* @function 查询单条记录
* @return 符合条件的对象
*/
public Object queryForObject(String statementName,Object parameterObject);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @function 查询单条记录
* @return 符合条件的对象
*/
public Object queryForObject(String statementName);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @param parameterObject 查询条件对象(map/javaBean)
* @function 查询集合记录
* @return 符合条件的记录集合
*/
public List queryForList(String statementName,Object parameterObjec);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @function 无条件查询
* @return 符合条件的记录集合
*/
public List queryForList(String statementName);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @param start 起始页
* @param ent 结束页
* @function 分页查询
* @return 符合条件的集合列表
*/
public List queryForPage(String statementName,int start,int end);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @param parameterObject 修改条件对象(map/javaBean)
* @function 更新一条记录
* @return 更新结果
*/
public int update(String statementName, Object parameterObject);
/**
* @author Wilr
* @date 2011-10-5
* @param statementName Ibatis配置中对应标签语句ID号
* @function 更新一条记录
* @return 更新结果
*/
public int update(String statementName);
接口实现类代码如下:
@Override
public void insert(String statementName, Object parameterObject) {
this.getSqlMapClientTemplate().insert(statementName,parameterObject);
}
@Override
public void insert(String statementName) {
this.getSqlMapClientTemplate().insert(statementName);
}
@Override
public int delete(String statementName, Object parameterObject) {
return this.getSqlMapClientTemplate().delete(statementName,parameterObject);
}
@Override
public int delete(String statementName) {
return this.getSqlMapClientTemplate().delete(statementName);
}
@Override
public Object queryForObject(String statementName, Object parameterObject) {
return this.getSqlMapClientTemplate().queryForObject(statementName,parameterObject);
}
@Override
public Object queryForObject(String statementName) {
return this.getSqlMapClientTemplate().queryForObject(statementName);
}
@Override
public List queryForList(String statementName, Object parameterObjec) {
return this.getSqlMapClientTemplate().queryForList(statementName,parameterObjec);
}
@Override
public List queryForList(String statementName) {
return this.getSqlMapClientTemplate().queryForList(statementName);
}
@Override
public List queryForPage(String statementName,int start,int end) {
return this.getSqlMapClientTemplate().queryForList(statementName, start, end);
}
@Override
public int update(String statementName, Object parameterObject) {
return this.getSqlMapClientTemplate().update(statementName,parameterObject);
}
@Override
public int update(String statementName) {
return this.getSqlMapClientTemplate().update(statementName);
}
第一次在ITEYE写东西,写的不好的地方请多多指教,请各位多多指教!谢谢
分享到:
相关推荐
而iBatis则是一个持久层框架,它将SQL语句与Java代码分离,使得数据库操作更加灵活。现在,我们将详细讨论这三个框架的整合以及jar包的作用。 Spring框架的核心是依赖注入,它通过控制反转(IoC)使对象之间的依赖...
iBatis是一个持久层框架,它将SQL语句与Java代码分离,使得数据库操作更易于维护和扩展。`sql-map-config.xml`是iBatis的主要配置文件,包含了数据源、事务管理器和SQL映射文件的引用。`ibatis-sqlmaps-XXX.xml`则是...
Spring负责管理对象的生命周期和依赖关系,Struts2提供了MVC架构,而Ibatis作为持久层框架,简化了数据库操作。这样的架构在过去的Java Web开发中非常流行,虽然现在有Spring Boot和MyBatis等更现代的框架,但理解这...
而iBatis则是一个持久层框架,它将SQL语句与Java代码分离,提供灵活的数据访问接口。 **Spring框架**: Spring的核心特性包括依赖注入和面向切面编程。依赖注入使得对象之间的关系在运行时动态地组合,降低了组件...
Spring3、Struts2和Ibatis的整合,构建了一个完整的MVC+持久层架构。Spring作为整个应用的调度中心,管理所有对象的生命周期,包括Struts2的Action和Ibatis的SqlSession。Struts2负责接收HTTP请求,调用Action执行...
在IT行业中,Spring、Struts2和iBatis是三个非常重要的开源框架,它们分别在不同的层面上解决了Java Web开发中的问题。Spring作为一款全面的后端应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts...
Spring还提供了对DAO(Data Access Object)的支持,与各种持久层框架(如JDBC、Hibernate、MyBatis)良好集成,以及对Web框架(如Struts2)的整合。 **Struts2** Struts2是一个基于MVC(Model-View-Controller)...
iBatis是一个持久层框架,它将SQL语句与Java代码分离,降低了数据访问层的复杂性。它允许开发者直接编写SQL,然后通过XML或注解方式配置到iBatis,从而实现数据操作。iBatis与Spring的结合,可以让Spring管理...
iBatis 是一种持久层框架,它将SQL与Java代码分离,避免了传统的DAO(Data Access Object)模式带来的冗余代码。iBatis提供了XML或注解方式来编写SQL语句,使得SQL的编写和维护更加方便。在Spring和iBatis的整合中,...
iBatis是一个持久层框架,它简化了数据库操作,允许开发者将SQL语句直接写在配置文件中,与Java代码进行映射,避免了大量手写JDBC代码。iBatis与ORM(Object-Relational Mapping)框架不同,它更注重SQL的灵活性,...
Spring、Struts2和iBatis是Java Web开发中经典的三大框架,它们分别负责不同的职责:Spring作为核心容器管理依赖,Struts2处理HTTP请求和响应,iBatis则作为持久层框架,处理数据库交互。这个"spring+struts2+ibatis...
"Spring+Struts+Ibatis"框架组合就是一种经典的Java Web开发架构,它将控制层、业务逻辑层和数据访问层有效地分离开来,使得项目结构清晰,易于维护。下面将详细解释这三个框架的主要功能和它们如何协同工作。 首先...
3. **iBatis**:iBatis是一个持久层框架,它将SQL与Java代码分离,提高了可维护性和可扩展性。在这个实例中,iBatis作为数据访问层,负责与Oracle数据库交互,执行分页查询和插入、更新、删除操作。它通过XML或注解...
在整合Spring时,我们可以使用Spring插件Struts2-Spring-plugin,这允许我们在Struts2动作类中直接注入由Spring管理的bean,从而实现业务层和持久层的解耦。 iBatis是MyBatis的前身,它提供了一种将SQL语句和Java...
这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、轻量级持久层框架Ibatis以及关系型数据库管理系统MySQL。 1. **Struts2**:Struts2是Apache软件基金会下的一...
【Spring + Struts2 + iBatis + Eclipse 整合】是Java Web开发中的经典组合,这个整合项目为初学者提供了深入理解这四个组件协同工作的机会。以下将详细阐述这四个关键技术及其整合过程中的关键知识点。 1. Spring...
在IT行业中,集成框架的使用是提升开发效率和优化项目结构的重要手段。"ibatis+spring+struts2 整合开发例子"就是一个典型的Java Web应用集成开发案例,旨在帮助开发者理解和掌握这三大框架的协同工作原理。接下来,...
iBatis作为持久层框架,提供了灵活的SQL映射机制,将数据库操作与业务逻辑分离,避免了传统的DAO模式带来的复杂性。它允许开发者直接编写SQL语句,增强了查询性能,并能有效地处理复杂的关联查询。 Ajax技术在前端...
而Ibatis作为一个持久层框架,简化了数据库操作,将SQL语句与Java代码分离。 在"Struts+Spring+Ibatis整合的Jar包"中,这三者通过合理的配置和接口调用相互协同工作,实现了数据访问、业务逻辑处理和用户界面展示的...