`

spring ibatis 事务

阅读更多

1)applicationContext-resources.xml 配数据源:

<beans>

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@192.168.0.1:1521:AGMSC"/>
        <property name="username" value="test"/>
        <property name="password" value="test"/>
        <property name="maxActive" value="100"/>
        <property name="maxIdle" value="30"/>
        <property name="maxWait" value="1000"/>
        <property name="defaultAutoCommit" value="true"/>
        <property name="removeAbandoned" value="true"/>
        <property name="removeAbandonedTimeout" value="60"/>
    </bean>
</beans>

(2)applicationContext-ibatis.xml  符合Ibatis的DAO配置:

<beans>
    <!-- Transaction manager for a single JDBC DataSource -->
    <bean id="transactionManager" 
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    
    <!-- SqlMap setup for iBATIS Database Layer -->
    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
        <property name="configLocation">
            <value>classpath:/com/aigomusic/dao/ibatis/sql-map-config.xml</value>
        </property>
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!-- Generic Dao - can be used when doing standard CRUD -->
    <bean id="dao" class="com.aigomusic.dao.ibatis.BaseDaoIbatis">
        <property name="dataSource" ref="dataSource"/>
        <property name="sqlMapClient" ref="sqlMapClient"/> 
    </bean> 
    
    <!-- ammRingtoneDao: iBatis implementation --> 
    <bean id="ammRingtoneDao" class="com.aigomusic.dao.ibatis.AmmRingtoneDaoIbatis"> 
        <property name="dataSource" ref="dataSource"/>
        <property name="sqlMapClient" ref="sqlMapClient"/> 
    </bean> 
    
    <!-- ammImageDao: iBatis implementation --> 
    <bean id="ammImageDao" class="com.aigomusic.dao.ibatis.AmmImageDaoIbatis"> 
        <property name="dataSource" ref="dataSource"/>
        <property name="sqlMapClient" ref="sqlMapClient"/> 
    </bean> 
</beans>

(3)AmmImageDaoIbatis.java  符合Ibatis的DAO实现代码:

public class AmmImageDaoIbatis extends BaseDaoIbatis implements AmmImageDao {
 /**
  * 测试成功
  */
 public AmmImage getAmmImage(String fringmodelid) {
  return (AmmImage) getSqlMapClientTemplate().queryForObject(
    "getAmmImage", fringmodelid);
 }

 /**
  * 测试成功
  */
 public AmmImagePage getAmmImages(AmmImagePage ammImagePage) {
  ammImagePage.handlePage(Integer
    .parseInt((String) getSqlMapClientTemplate().queryForObject(
      "getAmmImagesCount", ammImagePage)),
    ammImagePage.getPageNo(), ammImagePage.getPageSize());
  ammImagePage.setItemList(getSqlMapClientTemplate().queryForList(
    "getAmmImages", ammImagePage));
  return ammImagePage;
 }

 
 /**
  * 测试成功
  */ 
 public AmmImagePage getDownloadRate(AmmImagePage ammImagePage) {
  if(ammImagePage==null){ammImagePage=new AmmImagePage();}
  ammImagePage.handlePage(ammImagePage.getItemCount(),ammImagePage.getPageNo(), ammImagePage.getPageSize());
  ammImagePage.setItemList(getSqlMapClientTemplate().queryForList(
    "getAmmImages_ByDownloadRate", ammImagePage));
  return ammImagePage;
 }

 public AmmImagePage getComsumeRate() {
  AmmImagePage ammImagePage = new AmmImagePage();
  ammImagePage.setItemList(getSqlMapClientTemplate().queryForList(
    "getMobileNumbers_ByComsumeRate", null));
  return ammImagePage;
 }

}

(4)applicationContext-service.xml  业务接口配置文件

<beans>

 <!-- Generic manager that can be used to do basic CRUD operations on any objects -->
 <bean id="manager" class="com.aigomusic.service.impl.BaseManager">
  <property name="dao" ref="dao" />
 </bean>

 <bean id="ammRingtoneManager"
  class="com.aigomusic.service.impl.AmmRingtoneManagerImpl">
  <property name="ammRingtoneDao" ref="ammRingtoneDao" />
 </bean>

 <bean id="ammImageManager"
  class="com.aigomusic.service.impl.AmmImageManagerImpl">
  <property name="ammImageDao" ref="ammImageDao" />
 </bean>

 <!-- Add new Managers here -->
</beans>

(5)AmmImageManagerImpl.java  MANAGER实现代码:

public class AmmImageManagerImpl extends BaseManager implements
  AmmImageManager {
 private AmmImageDao ammImageDao;

 public void setAmmImageDao(AmmImageDao ammImageDao) {
  this.ammImageDao = ammImageDao;
 }

 public AmmImage getAmmImage(String fringmodelid) {
  return (AmmImage)ammImageDao.getAmmImage(fringmodelid);
 }

 public AmmImagePage getAmmImages(AmmImagePage ammImagePage) {
  return (AmmImagePage)ammImageDao.getAmmImages(ammImagePage);
 }

 public AmmImagePage getDownloadRate(AmmImagePage ammImagePage) {
  return (AmmImagePage)ammImageDao.getDownloadRate(ammImagePage);
 }

 public AmmImagePage getComsumeRate() {
  return (AmmImagePage)ammImageDao.getComsumeRate();
 }

}

分享到:
评论

相关推荐

    ibatis 完美例子 一对多 批处理 事务 和 spring struts2集成

    本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与Spring及Struts2的集成。 首先,让我们来看一下“一对多”关系。在数据库设计中,一对多关系很常见,比如一个用户可以有多个订单。在Ibatis中,...

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

    Spring+ibatis 保留ibatis事务的配置

    根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...

    SPRING IBATIS 保留IBATIS事务的配置方式

    根据提供的文件信息,本文将详细解析Spring与iBatis整合时如何保留并使用iBatis事务管理机制,以及如何在应用程序中实现手动控制事务的方法。 ### Spring与iBatis整合 Spring框架是一个全面的企业级应用开发框架,...

    spring+ibatis声明式事务Demo_

    本示例“spring+ibatis声明式事务Demo”将探讨如何在Spring与iBatis集成环境中使用声明式事务管理。声明式事务管理允许开发者通过配置来控制事务,无需在代码中显式处理事务开始、提交和回滚。 **Spring框架** 是一...

    spring ibatis 配置(包括事务管理)

    以下是关于"spring ibatis 配置(包括事务管理)"的详细说明: 1. **引入依赖**:首先,我们需要在项目中添加Spring和iBatis的相关依赖。通常,这会在Maven或Gradle的配置文件中完成,确保引入了正确的版本。 2. *...

    spring ibatis整合所需jar包

    Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、事务管理等特性,而iBatis则是一个优秀的持久层框架,它将SQL语句与Java代码分离,使得数据库操作更加灵活和易于维护。将两者整合可以实现松...

    spring+ibatis声明式事务Demo

    当我们谈论"spring+ibatis声明式事务Demo"时,我们关注的是如何在Spring框架中利用iBatis实现声明式事务管理。 声明式事务管理是Spring框架提供的一种方便、高效的方式,使得开发者无需手动控制事务的开始、提交、...

    struts2 spring ibatis 项目整合源码

    Spring提供了IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)等核心特性,使得开发者可以轻松地进行事务管理、安全管理以及与其他框架的集成。在本项目中,Spring可能被...

    Spring ibatis dwr2 extjs 实例1

    本例子通过Spring容器管理ibatis dwr2的javaBean以及事务,Extjs通过dwr2来调用Spring管理类

    ibatis事务控制案例

    本案例聚焦于`ibatis`(MyBatis前身)的事务管理,它是一个轻量级的Java持久层框架,提供了灵活的SQL映射功能。在Java应用中,Ibatis与SQL Server、MySQL等数据库配合,可以实现高效的数据库访问和事务处理。 **1. ...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    Struts2 Spring Ibatis mysql 项目整合

    Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的动作控制、依赖注入及持久层操作。本项目整合了这三个框架,并使用MySQL作为数据库,实现了一个基础的用户登录注册查询删除的功能...

    spring与ibatis整合集成实例

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

    spring_ibatis整合案例

    Spring-iBatis会自动处理SQL执行、结果转换以及事务管理。 8. **优点** - **松耦合**:SQL与Java代码分离,降低了维护难度。 - **灵活性**:iBatis允许动态SQL,适应复杂查询需求。 - **事务管理**:Spring的...

    struts2 spring ibatis整合的最少最全jar包

    Struts2、Spring和iBatis是Java Web开发中非常重要的三个框架,它们分别负责MVC模式中的Action层、业务逻辑层以及数据访问层。这三个框架的整合可以提供一个高效且灵活的开发环境,帮助开发者构建出结构清晰、易于...

    struts+spring+ibatis框架集合教程

    Struts、Spring和iBatis是Java开发中常用的三大开源框架,它们各自专注于应用程序的不同层次:Struts处理表现层逻辑,Spring提供全面的依赖注入和事务管理,而iBatis则负责数据访问层的工作。本教程集合了这三者的...

Global site tag (gtag.js) - Google Analytics