- 浏览: 122423 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zczjdyj123:
大神啊,我在tomcat定是任务里面抓取新闻,这种方式实现不了 ...
httpclient 中文乱码的解决方案 -
zczjdyj123:
str=new String(str.getBytes(),& ...
httpclient 中文乱码的解决方案 -
Ralfc:
http://tomcat.apache.org/connec ...
apache与 tomcat 集群配置与session共享 -
lengyueheiying:
我注册登录就是为了感谢你,你帮我解决了我2天没有搞定的问题谢谢 ...
httpclient 中文乱码的解决方案 -
litxuf:
------------------ 可恶的64k 2w汉字 ...
DSA签名在java与.net平台的互联互通问题
} 原文地址:http://www.cnblogs.com/Angi/articles/2007563.html
<sqlMap resource="com/angi/ibatis/maps/User.xml" />
</sqlMapConfig>
<transactionManager type="EXTERNAL">
<!--这个数据源其实没有什么意义,还是取上面的省略方式吧-->
<dataSource type="DBCP">
</dataSource>
</transactionManager>
<sqlMap resource="com/angi/ibatis/maps/User.xml" />
</sqlMapConfig>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
<!-- DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<!--<property name="defaultAutoCommit" value="false"/>-->
<property name="url">
<value>jdbc:mysql://localhost/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysql</value>
</property>
</bean>
<!-- Spring iBatis Template -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
<bean id="userDAO" class="com.angi.ibatis.dao.UserDaoImpl">
<property name="sqlMapClient">
<ref bean="sqlMapClient" />
</property>
</bean>
<bean id="userService" class="com.angi.ibatis.service.UserService">
<property name="userDao">
<ref bean="userDAO" />
</property>
</bean>
<bean id="userServiceProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="userService" />
</property>
<property name="transactionAttributes">
<props>
<!-- 这里的方法签名可以精确到方法, 先懒惰一下全配置上 -->
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
<!-- DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<!--<property name="defaultAutoCommit" value="false"/>-->
<property name="url">
<value>jdbc:mysql://localhost/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysql</value>
</property>
</bean>
<!-- Spring iBatis Template -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
<bean id="userDAO" class="com.angi.ibatis.dao.UserDaoImpl">
<property name="sqlMapClient">
<ref bean="sqlMapClient" />
</property>
</bean>
<bean id="userService" class="com.angi.ibatis.service.UserService">
<property name="userDao">
<ref bean="userDAO" />
</property>
</bean>
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>userService</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<!-- 这里的方法签名可以精确到方法, 先懒惰一下全配置上 -->
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
<!-- DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysql</value>
</property>
</bean>
<!-- Spring iBatis Template -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 需要引入aop的命名空间 -->
<aop:config>
<!-- 切入点指明了在所有方法产生事务拦截操作 -->
<aop:pointcut id="serviceMethods"
expression="execution(* com.angi.ibatis.service.*.*(..))" />
<!-- 定义了将采用何种拦截操作,这里引用到 txAdvice -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods" />
</aop:config>
<!-- 需要引入tx的命名空间 -->
<!-- 这是事务通知操作,使用的事务管理器引用自 transactionManager -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 指定哪些方法需要加入事务,这里懒惰一下全部加入,可以使用通配符来只加入需要的方法 -->
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<bean id="userDAO" class="com.angi.ibatis.dao.UserDaoImpl">
<property name="sqlMapClient">
<ref bean="sqlMapClient" />
</property>
</bean>
<bean id="userService" class="com.angi.ibatis.service.UserService">
<property name="userDao">
<ref bean="userDAO" />
</property>
</bean>
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
<!-- 需要引入tx的命名空间 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<!--<property name="defaultAutoCommit" value="false"/>-->
<property name="url">
<value>jdbc:mysql://localhost/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysql</value>
</property>
</bean>
<!-- Spring iBatis Template -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
<bean id="userDAO" class="com.angi.ibatis.dao.UserDaoImpl">
<property name="sqlMapClient">
<ref bean="sqlMapClient" />
</property>
</bean>
<bean id="userService" class="com.angi.ibatis.service.UserService">
<property name="userDao">
<ref bean="userDAO" />
</property>
</bean>
</beans>
public void doTransaction() {
User user = new User();
user.setName("11111");
user.setSex(1);
userDao.saveUser(user);
User user1 = new User();
user1.setName("Angikkk");
user1.setSex(1);
userDao.saveUser(user1);
发表评论
-
tomcat 连接池配置整理 (JNDI C3P0)
2013-02-18 17:54 1635简单的归纳整理一下各种几种连接池的配置方式 以便查询 ... -
使用Spring2.5的Autowired实现注释型的IOC
2012-03-27 17:58 980使用Spring2.5的Autowired实现注释型的IO ... -
Spring配置项<context:annotation-config/>解释说明
2012-03-27 17:38 2420在基于主机方式配置Spring的配置文件中,你可能会见到&l ... -
spring2.5注解驱动(一)@Autowired and @Resource
2012-03-27 17:20 1221注释配置相对于 XML 配置具有很多的优势: 它可以充分利 ... -
(转载)spring异常抛出触发事务回滚策略
2012-03-14 18:09 1600Spring、EJB的声明式事务默认情况下都是在抛出unche ... -
使Maven 2在package、install等阶段跳过运行Test的配置
2011-06-28 18:25 2050方法1:To skip running the tests f ... -
Spring中多个工程下多个资源文件ignoreUnresolvablePlaceholders配置
2011-06-24 15:58 2056<bean id="propertyCon ... -
DSA签名在java与.net平台的互联互通问题(2)
2011-06-13 15:49 821//DSA JAVA平台签名转成.net可以认识的 ... -
转】eclipse快捷键 10个最有用的快捷键
2011-04-25 15:27 1481一个Eclipse骨灰级开发者总结了他认为最 ... -
Spring发送邮件(三)—使用邮件模板来创建邮件
2010-06-01 15:12 1938六、使用邮件模板来创建邮件 FreeMarker是一个 ... -
使用Spring发送邮件(一)
2010-06-01 15:08 1825Spring对发送邮件提供了一个抽象层,对接收邮件没有提供 ... -
设计模式——单例模式
2010-03-11 17:16 843单例模式的要点:1、某个类只能有一个实例;2、必须自行创建自己 ... -
提交多行数据到Struts的ActionForm的List属性中
2010-01-12 12:25 1675WEB 应用中一般都会处理主从表的信息, 或者称之为头层与行层 ... -
httpclient 中文乱码的解决方案
2009-08-26 12:00 7624最近写个httpclient post的方法如下 pu ... -
Unicode、UTF-8 和 ISO8859-1到底有什么区别
2009-08-17 14:44 1874Unicode、UTF-8 和 ISO8859-1 ... -
编码简介:ASCII,Unicode,UTF-8,GB2312
2009-08-17 14:25 9941. ASCII码 我们知道,在计算机内部,所有的信息最终都 ... -
Java 异常机制
2009-06-03 10:30 917Java 语言要求 java 程序中(无论是谁写的代码),所有 ... -
JAVA-用HttpClient来模拟浏览器GET,POST
2009-03-03 10:19 2171一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
java的移位运算
2009-02-26 13:00 1022一 基本概念 所有的整 ... -
日志操作之 log4J
2009-02-26 12:59 1044在应用程序中输出日志有有三个目的: (1)监视代码中变量的变 ...
相关推荐
很好的spring+ibatis事务的配置文档.
这种配置方式使得ibatis能够在不依赖Spring事务管理的情况下独立工作,从而实现了对ibatis事务的保留。 #### 四、实现自定义控制回滚 当保留ibatis事务后,开发者可以在业务逻辑中更自由地控制事务的提交和回滚。...
这些方法调用Mapper接口执行数据库操作,并由Spring事务管理器确保事务的一致性。 6. **异常处理**:在声明式事务管理中,如果方法执行过程中发生未检查异常(继承自RuntimeException的异常),Spring会自动回滚...
本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与Spring及Struts2的集成。 首先,让我们来看一下“一对多”关系。在数据库设计中,一对多关系很常见,比如一个用户可以有多个订单。在Ibatis中,...
以下是关于"spring ibatis 配置(包括事务管理)"的详细说明: 1. **引入依赖**:首先,我们需要在项目中添加Spring和iBatis的相关依赖。通常,这会在Maven或Gradle的配置文件中完成,确保引入了正确的版本。 2. *...
当我们谈论"spring+ibatis声明式事务Demo"时,我们关注的是如何在Spring框架中利用iBatis实现声明式事务管理。 声明式事务管理是Spring框架提供的一种方便、高效的方式,使得开发者无需手动控制事务的开始、提交、...
根据提供的文件信息,本文将详细解析Spring与iBatis整合时如何保留并使用iBatis事务管理机制,以及如何在应用程序中实现手动控制事务的方法。 ### Spring与iBatis整合 Spring框架是一个全面的企业级应用开发框架,...
Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...
Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、事务管理等特性,而iBatis则是一个优秀的持久层框架,它将SQL语句与Java代码分离,使得数据库操作更加灵活和易于维护。将两者整合可以实现松...
Ibatis与Spring框架集成后,可以使用Spring的DI功能管理数据库连接,同时通过MyBatis-Spring提供的MapperScannerConfigurer自动扫描并注册Mapper接口,实现DAO层的便捷开发。 在SpringMVC+Spring+Ibatis的架构中,...
总的来说,Spring和iBatis的整合使得开发人员能够利用Spring的高级特性,如依赖注入和事务管理,同时保留iBatis的SQL定制能力。这种结合提高了代码的可维护性,并简化了数据库操作。对于大型项目,这种架构模式是...
本篇将详细介绍如何在Spring 2.5版本中整合iBATIS 2.3,并利用Spring的声明式事务管理,以提升应用程序的稳定性和可维护性。 首先,我们需要了解Spring 2.5和iBATIS 2.3的基本概念。Spring 2.5是Spring框架的一个...
Struts2 Spring Hibernate IBatis Struts2 Spring Hibernate IBatisStruts2 Spring Hibernate IBatisStruts2 Spring Hibernate IBatis 只需要导入相应的jar包就行了 ,数据库是mysql :数据库名叫做mydatabase,表名...
它允许开发者轻松管理对象间的依赖关系,同时提供了事务管理、安全控制等企业级服务。 3. **Hibernate**:Hibernate是一个强大的ORM(对象关系映射)框架,用于简化数据库操作。它允许开发者用Java对象来表示数据库...
**Spring** 是一个全面的后端开发框架,提供依赖注入(DI)和面向切面编程(AOP)等特性,同时也支持事务管理、数据访问集成等功能。在本示例中,Spring 可能的角色有: 1. 依赖注入:管理对象之间的关系,降低耦合...
它与Spring整合后,可以在Spring的事务管理下执行数据库操作,确保数据的一致性。 在"车辆费用"这个具体的应用场景中,我们可能有一个名为`VehicleExpense`的实体类,包含了车辆费用相关的属性,如费用类型、金额、...
Spring-iBatis会自动处理SQL执行、结果转换以及事务管理。 8. **优点** - **松耦合**:SQL与Java代码分离,降低了维护难度。 - **灵活性**:iBatis允许动态SQL,适应复杂查询需求。 - **事务管理**:Spring的...
5. **配置iBatis**:编写MyBatis的配置文件,包含数据源、事务管理器和Mapper配置。 6. **数据库连接**:创建MySQL数据源,配置JDBC连接字符串,加载必要的SQL脚本初始化数据库。 7. **编写业务逻辑**:在Service层...