Grails如果不想用Hibernate的东东,可以直接用Sql
配置部分可以参考——
http://www.iteye.com/topic/11506?page=3
使用的代码:(配置、类似spring transactionTemplate、Closure = Callback)
<bean id="defaultDsTarget" lazy-init="true"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${db_local_driver}</value></property>
<property name="url"><value>${db_local_url}</value></property>
<property name="username"><value>${db_local_user}</value></property>
<property name="password"><value>${db_local_pwd}</value></property>
</bean>
<bean id="defaultDs" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
<constructor-arg>
<ref bean="defaultDsTarget" />
</constructor-arg>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="defaultDsTarget"/>
</property>
</bean>
static DataSource getDs(){
final dsBeanName = 'defaultDs'
def context = AppContext.getContextBiz()
return context.getBean(dsBeanName)
}
// use spring platform indenpendent TransactionManager
static DataSourceTransactionManager getTm(){
def context = AppContext.getContextBiz()
return context.getBean('transactionManager')
}
// not available in weblogic
static void withTrans(Closure callback){
def tm = getTm()
def transDef = new DefaultTransactionDefinition()
def status = tm.getTransaction(transDef)
try {
callback.call()
tm.commit(status)
}catch (ex) {
log.error('DSManager withTrans failed!', ex)
tm.rollback(status)
throw ex
}
}
DSManager.withTrans{
def dao = new YourDAO() // use defaultDs from spring beanfactory
}
分享到:
相关推荐
标题 "Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD" 涉及到的是一个使用几种技术栈构建Web应用程序的示例。这个项目结合了Groovy、Tapestry 5、Spring 2.5和Hibernate 3.2,旨在展示如何在实际开发中进行数据...
1. **Spring 事务处理**:Spring 提供了声明式事务管理,允许开发者在配置文件中定义事务边界,无需在业务逻辑代码中显式控制事务开始、提交和回滚。它主要基于AOP代理来实现,通过TransactionInterceptor拦截器进行...
9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...
4. 事务管理:Spring的PlatformTransactionManager可以管理myBatis的事务。通过@Transactional注解,可以在方法级别控制事务的开启、提交和回滚,实现事务的统一管理。 5. AOP集成:Spring的AOP支持可以用于拦截...
读者将了解到Spring如何管理和配置Hibernate SessionFactory,以及如何利用Spring事务管理器来控制事务边界。 ### 第10章:使用JPA 2与Spring进行数据访问 这一章节重点介绍了Java Persistence API(JPA)2版本与...
- **Groovy集成**:Spring支持使用Groovy等脚本语言,以提供更灵活的应用程序扩展能力。 - **动态脚本**:Spring还支持动态脚本的执行,可用于运行时动态配置等场景。 #### 15. 应用监控 - **监控工具**:Spring...
9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...
开发者可以通过这些schema定义数据源,设置事务管理策略,甚至处理SQL异常。 `jms`目录包含了Java消息服务(JMS)的schema。Spring的JMS支持允许开发者以非侵入式的方式处理消息,实现解耦和异步通信。通过配置JMS...
6. **使用SqlSessionTemplate**:通过Spring提供的SqlSessionTemplate或SqlSessionDaoSupport进行数据操作,以实现事务管理。 **Commons库** Apache Commons是Java领域的一系列实用工具库,包含多个子项目,如...
9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...
- **Groovy 与 Spring**:探讨 Groovy 脚本语言如何与 Spring 结合使用。 - **脚本引擎**:介绍 Spring 提供的脚本引擎支持。 - **动态编程**:讨论如何利用脚本支持进行动态编程。 #### 二十三、Spring 应用监控...
9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一...
7. **Spring的事务管理**:通过Spring的PlatformTransactionManager进行事务控制,确保数据的一致性。 8. **Spring的DAO层**:创建Service层接口和实现类,通过@Autowired注解注入Mapper接口,实现业务逻辑。 9. *...
- 在Spring中,可以使用`@Transactional`注解实现数据库事务管理。在Redis中,由于其单线程模型,事务主要通过`MULTI`、`EXEC`命令实现。 - 整合Redis和MySQL时,需要考虑分布式事务的问题,例如使用两阶段提交...
9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种...
- **事务管理**:Spring提供了一种声明式事务管理方式,可以非常方便地管理数据库事务。 2. **Hibernate的基础** - **ORM(对象关系映射)**:Hibernate的核心功能之一就是ORM,它允许开发者以面向对象的方式操作...
7. **事务管理**: Spring 2.5提供了声明式和编程式事务管理,使开发者能够轻松地控制事务边界。`@Transactional`注解可以在方法级别声明事务需求,简化事务管理。 8. **容器增强**: Spring 2.5的Bean容器引入了更多...
这一章可能会讨论使用Groovy等脚本语言在Spring中进行编程。 第23章讲述了Spring应用监控。本章介绍了如何监控Spring应用的性能,包括应用日志、性能指标和健康状况等。 附录A介绍了SpringSource Tool Suite,这是...
Spring Boot默认使用`DataSourceTransactionManager`作为事务管理器,通过`@Transactional`注解可以声明式地控制事务的边界。 7. **性能优化** `spring-boot-starter-mybatis`还提供了缓存支持,可以利用MyBatis...