我在实现密码修改和商品修改时,发现页面和后台数据都能修改,但数据库中始终不变化。同时我能够添加商品数据到数据库。
1、首先我检查配置文件是否出错,首先检查事物提交配置问题。如下:
<!-- 配置事物管理器,在*ServiceImpl里写@Transactional就可以启用事物管理 -->
<bean name="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 基于注释的事务,当注释中发现@Transactional时,使用id为“transactionManager”的事务管理器 -->
<!-- 如果没有设置transaction-manager的值,则spring以缺省默认的事务管理器来处理事务,默认事务管理器为第一个加载的事务管理器 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- spring注解模式配置 -->
<context:annotation-config/>
2、检查mysql数据库设置
3、最后只有检查代码
从controller检查——》Service检查——》dao层检查
最后在dao层发现session获取错误如下
@Override
public Session getSession() {
// 事务必须是开启的(Required),否则获取不到
return sessionFactory.openSession();
}
修改后:
@Override
public Session getSession() {
// 事务必须是开启的(Required),否则获取不到
return sessionFactory.getCurrentSession();
}
问题解决!!!