SSH框架插入数据库显示成功,但数据库中没有

吃小妖的星星 2015-01-02 03:52:13
SSH框架插入数据库显示成功,但数据库中没有,不只是怎么会事
public boolean register(User loginUser) {
ActionContext ctx= ActionContext.getContext();
session=(Map) ctx.getSession();
request=(Map) ctx.get("request");
//UserDAO userDAO = new UserDAO();
// System.out.println(loginUser.getAccount()+"1111");
try {
Transaction tran = userDAO.getSession().beginTransaction();
userDAO.save(loginUser);
System.out.println("username "+loginUser.getUsername()+" userpwd "+loginUser.getUserpwd()+" "+loginUser.getPhone()+" "+loginUser.getAge());
System.out.println("插入成功!");
tran.commit();
System.out.println("插入成功!");
session.put("user",loginUser.getUsername());
//request.put("tip", "注册成功!欢迎你"+loginUser.getUsername());
return true;
} catch (Exception e) {
return false;
}

}

在线急等
...全文
667 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_37846077 2017-07-10
  • 打赏
  • 举报
回复
解决了没有啊?能贴出来解决方法吗
chanxindiaolong 2015-01-03
  • 打赏
  • 举报
回复
这看不出来什么。你要看的是dao里的save方法。我估计是写丢了保存语句吧。检查一下。
Shuffle_Z 2015-01-03
  • 打赏
  • 举报
回复
把hibernate的show_sql设为true看看有没有插入语句
hymwrj1 2015-01-02
  • 打赏
  • 举报
回复
你所说的显示:插入成功,这是你自己写给你自己看的,当你能确保你的操作成功了,这句话才有意义,否则这句插入成功,只能告诉你,你的程序已经执行过这里了。 首先你要检查 userDAO.save(loginUser); 这个方法,这个方法是你自己写的,还是你调用Hibernate框架的方法? 其次检查 tran.commit(); 这句话是事务提交,相当于确认一样。 事务就是,你虽然保存了数据,但你还需要确认提交,这个保存操作才算是真正完成了,如果不确认提交,你的保存操作会回滚,也就是相当于没保存。所以检查看看tran这个事务对象是否正常。 最后呢,把你的catch里的 e.printStackTrace() 加上,如果报错的话,看看是什么错。
吃小妖的星星 2015-01-02
  • 打赏
  • 举报
回复
引用 1 楼 oh_Maxy 的回复:
检查下映射关系,是不是写到别的表里了什么的。另外外层有没有嵌套事务回滚。
什么是事物回滚?
吃小妖的星星 2015-01-02
  • 打赏
  • 举报
回复
引用 2 楼 lightning_16 的回复:
你这个session和事物中的session不一样呢。。
什么意思?
lightning_16 2015-01-02
  • 打赏
  • 举报
回复
你这个session和事物中的session不一样呢。。
oh_Maxy 2015-01-02
  • 打赏
  • 举报
回复
检查下映射关系,是不是写到别的表里了什么的。另外外层有没有嵌套事务回滚。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧