欢迎来到天天文库
浏览记录
ID:34723241
大小:86.18 KB
页数:7页
时间:2019-03-10
《hibernate增删查改》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Hibernate中对增删改查的小结(2007-12-1122:32)分类:J2EEmysql中库表News,字段如下id
2、 int
3、 auto_increment
4、 primarykeytitle
5、 varcharcontent
6、 varchardate
7、 varchar1:Hibernate的insert操作 Sessionsession=HibernateSessionFactory.getSession(); Newsnews=newNews();
8、news.setContent("mycontent"); news.setTitle("mytitle"); news.setDate("mydate");//news是VO Transactiontrans=session.beginTransaction(); session.save(news);//news是PO trans.commit(); //任何有关数据库更新的操作都是commit后进数据库的 HibernateSession
9、Factory.closeSession();2:Hibernate的update操作 Sessionsession=HibernateSessionFactory.getSession(); Newsnews=newNews(); news.setId(103); //id不可少,Hibernate只通过id来查找数据库 news.setContent("updatecontent"); news.setTitle("updatetitle");
10、 Transactiontrans=session.beginTransaction(); session.update(news); trans.commit(); HibernateSessionFactory.closeSession();注意这里我们更新数据不想对date进行更新,所以没写setDate,但Hibernate会认为我们是想把date设置为null,所以如果要更新表中一些字段,最好用下面的方法。 Sessionsession=HibernateSessionFactor
11、y.getSession(); Transactiontrans=session.beginTransaction(); Newsnews=(News)session.get(News.class,103); //*****(1) news.setDate("updatedate"); //*****(2) session.save(news); //*****(3) trans.commit(); HibernateSessionFactory.closeSess
12、ion();这里其实对数据库进行了两次操作,(1)时从数据库中把相应纪录查找出来,这里news是一个PO,(2)对PO进行date的更新,其他数据没变,然后(3)保存,由于(1)查出的数据就有title,content,所以保存时候title和content都不会是null。3:Hibernate的delete操作 Sessionsession=HibernateSessionFactory.getSession(); Transactiontrans=session.beginTransaction();
13、 Newsnews=newNews(); news.setId(8); //用下面那句效果一样,只是多了句select// Newsnews=(News)session.get(News.class,8); session.delete(news); trans.commit(); HibernateSessionFactory.closeSession();注意,只能通过id来删除数据,不能通过title或content来删除,会报缺少标示符错误。使用hql来删除(可作批量删除)
14、 Sessionsession=HibernateSessionFactory.getSession(); Stringhql
此文档下载收益归作者所有