当前位置: 代码迷 >> Java Web开发 >> sessionFactory.getCurrentSession().save(obj);对象没有保存到数据库解决办法
  详细解决方案

sessionFactory.getCurrentSession().save(obj);对象没有保存到数据库解决办法

热度:849   发布时间:2016-04-14 21:05:07.0
sessionFactory.getCurrentSession().save(obj);对象没有保存到数据库
applicationContext.cml:
<?xml version="1.0" encoding="utf-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
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-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<context:annotation-config/>

<!-- 配置databaseSource数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/scudormitorydata?useUnicode=true&amp;characterEncoding=utf-8"/>
    <property name="username" value="root"/>
    <property name="password" value="728729"/>
     <!-- 连接池启动时的初始值 -->
<property name="initialSize" value="3"/>
 <!-- 连接池的最大值 -->
 <property name="maxActive" value="500"/>
 <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="2"/>
<!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1"/>
</bean>

<!-- 配置sessionFactory -->
 <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="StudentDAO" class="com.scu.dao.StudentDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="AdministratorDAO" class="com.scu.dao.AdministratorDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<bean id="TestDAO" class="com.scu.dao.TestDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
 
<!-- 配置service -->
<bean id="studentServiceImpl" class="com.scu.service.impl.StudentServiceImpl">
  <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<bean id="administratorServiceImpl" class="com.scu.service.impl.AdministratorServiceImpl">
  <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<!-- 配置Action -->
<bean name="/userLogin" class="com.scu.struts.action.UserLoginAction">
<property name="studentService" ref="studentServiceImpl" />
<property name="administratorService" ref="administratorServiceImpl" />
</bean>

<bean name="/userRegister" class="com.scu.struts.action.UserRegisterAction">
<property name="studentService" ref="studentServiceImpl"/>
</bean>

<!-- 配置事务管理器 -->
<!-- 事务管理器 -->
    <bean id="transactionManager" 
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
    <ref local="sessionFactory"/>
    </property>
    </bean>
   
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

BaseServiceImpl.java:
保存函数
public void save(Object obj) {
// TODO Auto-generated method stub
sessionFactory.getCurrentSession().save(obj);
System.out.println(obj);
}
------解决思路----------------------
没见事务
------解决思路----------------------
引用:
没见事务
 +1
  相关解决方案