本人新手啊,我做的密码修改的功能,我在网上查了一下,说getHibernateTemplate().update()方法的参数要是什么游离态什么的。。反正我看不懂,总之我按照他们的方法,先根据Id查询出了这个用户,然后把要改的值set进去,将这个对象传入getHibernateTemplate().update()方法。。但是还是不行啊,另外,SQL语句不出来。
这是action部分代码
public String execute() throws Exception
{
//根据Id更新密码
ucpSer.updataUserInfo(this.userId, this.newPassword);
return SUCCESS;
}
这是service的方法
public void updataUserInfo(String userId,String newPassword)
{
UserInfoTable userInfo = this.findOneUserInfo(userId);
//我试了这句话,能打印出来,证明可以根据Id查询出这个用户信息的对象
System.out.println(userInfo.getUserNick());
//这是要改的,更新新密码,别的不改
userInfo.setUserPassword(newPassword);
this.uiDao.updataUserInfo(userInfo);
}
这是uiDao的方法
public void updataUserInfo(UserInfoTable userInfo)
{
this.getHibernateTemplate().update(userInfo);
}
以上有问题么。。还有,一开始用这个语句报错了,我在web.xml文件里加上了这个
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name> flushMode </param-name>
<param-value>AUTO </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
加上这个就不报错了。。。但是不能更新,我哪里错了,还请大家告诉我一下,谢谢
------解决思路----------------------
没更新先看看你的USERID的值对不对
------解决思路----------------------
在修改语句上加上捕获异常的语句,查看是否报错?