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

spring事务说明和简单实例-1

阅读更多
spring事务一为"声明式,一为"可编程式",
1,可编程式:
TransactionTemplate,HibernateTemplate,JdbcTemplate为编程式,
在我做项目时,Hibenrate常用Dao extends HibernateDaoSupport;
Jdbc常在jdbcDao层把jdbcTemplate注入进去,
这样访问数据库时,会自动打开Session,开启事务.
public class SysUserDAO extends HibernateDaoSupport  {
public List findByUserId(Integer userId){
HibernateTemplate ht = getHibernateTemplate();
ht.setCacheQueries(true);

StringBuffer hql = new StringBuffer(" from SysUser su where 1=1 and su.userId="+userId);
List list = ht.find(hql.toString());
return list;
}
    public void save(SysUser transientInstance) {
        log.debug("saving SysUser instance");
        try {
            getHibernateTemplate().saveOrUpdate(transientInstance);
            log.debug("save successful");
        } catch (RuntimeException re) {
            log.error("save failed", re);
            throw re;
        }
    }

}

public class JdbcSysUserDAO {


private JdbcTemplate jdbcTemplate;


public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}

public void setJdbcTemplate(JdbcTemplate nanguajdbcTemplate) {
this.jdbcTemplate = nanguajdbcTemplate;
}
}
配置文件:
spring.xml
<bean id="dataSourc" .../>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>

spring-dao.xml
<bean id="sysUserDao" class=..>
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="jdbcSysUserDao class=..>
<property name="jdbcTemplate">
<ref bean="jdbcTemplate" />
</property>
</bean>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics