springmvc+hibernate项目

1.先建简单的springMVC框架(源码链接:http://download.csdn.net/detail/mastershaw/9501059)

建好之后在添加hibernate。

因为在没有structs和spring下建hibernate,所以通过反向工程得

到的basic dao,不是spring dao。


下面的文件为:







这时我们就要修改一些类和配置文件了,

其中把原先的Ws删掉,把WsId这个类名改为Ws。再修改Ws.hbm.xml中的数据,改为

如下:


记住:Ws.hbm.xml文件中一定最前面是<id>***</id>,不是<property>***</property>


2.添加好hibernate的反向工程之后,系统就会自动调用hibernate.cfg.xml的文件的,不用在springmvc.xml配置别的信息。

3.最后调用代码

UserinfoDAO dao = new UserinfoDAO();
List list = dao.findByProperty("title",username);
System.out.println(list.size());
for(Iterator<Userinfo>  it=list.iterator();it.hasNext();){
Userinfo userinfo=it.next();
System.out.println(userinfo.getTitle());
userinfo.setPwd(userinfo.getTitle());
dao.save(userinfo);
System.out.println("save ok");
   }


4.你会发现save()无效

5.你参考如下:

这几天正在使用hibernate进行数据库的开发,通过myeclipse的hibernate reverse engieering生产的StuDao,其中的save方法并不能生效.

后来到网上查找了一下,找到了解决方法,但其中原因并不是很清楚.

原始的方法:

[java]  view plain  copy
  1. public void save(Stu transientInstance) {  
  2.         log.debug("saving Stu instance");  
  3.         try {  
  4.   
  5.              getSession().save(transientInstance);  
  6.   
  7.         } catch (RuntimeException re) {  
  8.             log.error("save failed", re);  
  9.             throw re;  
  10.         }  
  11.   
  12. }  


方法一:

[java]  view plain  copy
  1. public void save(Stu transientInstance) {  
  2.         log.debug("saving Stu instance");  
  3.         try {  
  4.             <span style="color:#FF0000;">Session session = getSession();  
  5.             Transaction tran = session.beginTransaction();  
  6.             session.save(transientInstance);  
  7.             tran.commit();</span>  
  8.             log.debug("save successful");  
  9.         } catch (RuntimeException re) {  
  10.             log.error("save failed", re);  
  11.             throw re;  
  12.         }  
  13.   
  14. }  


方法二:

在hibernate配置文件hibernate.cfg.xml中添加如下语句

[html]  view plain  copy
  1. <property name="connection.autocommit">true</property>  

修改代码为:

[java]  view plain  copy
  1. public void save(Stu transientInstance) {  
  2.      log.debug("saving Stu instance");  
  3.      try {  
  4.     getSession().save(transientInstance);  
  5.     getSession().flush();  
  6.     log.debug("save successful");  
  7.      } catch (RuntimeException re) {  
  8.     log.error("save failed", re);  
  9.     throw re;  
  10.      }  
  11. }  


源码下载链接:http://download.csdn.net/detail/mastershaw/9501053

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值