Hibernate中对于数据的(增删改查)操作的一个例子的代码
2012-03-17 16:07
429 查看
package com.xiami.examples; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; public class HibernateTest { public static void main(String args[]){ // Configuration config = new Configuration(); // config.configure(); // SessionFactory sessionFactory = config.buildSessionFactory(); // Session session = sessionFactory.getCurrentSession(); // Transaction tx = session.beginTransaction(); //session对象的sava()方法保持一条记录 // Guestbook gb = new Guestbook(); // gb.setName("Kalision"); // gb.setPhone("13854135552"); // gb.setContent("我是Kalision."); // gb.setTitle("大家好,"); // gb.setEmail("zhouchuanshun@foxmail.com"); // gb.setCreatedTime((new Date()).toString()); // session.save(gb); // tx.commit(); // sessionFactory.close(); //session对象的get()方法得到一条记录 // Guestbook gb = (Guestbook) session.get(Guestbook.class, new Integer(3)); // tx.commit(); // System.out.println(gb.getName()); //session对象的load()方法得到一条记录 // Guestbook gb = (Guestbook) session.load(Guestbook.class,new Integer(3)); // tx.commit(); // System.out.println(gb.getName()); //session对象的update()方法更新一条记录 // Configuration config = new Configuration().configure(); // SessionFactory sessionFactory = config.buildSessionFactory(); // Session session = sessionFactory.getCurrentSession(); // Transaction tx = session.beginTransaction(); // Guestbook gb = (Guestbook) session.get(Guestbook.class, new Integer(3)); // tx.commit(); // // gb.setName("xiami"); // session = sessionFactory.getCurrentSession(); // tx = session.beginTransaction(); // session.update(gb); // tx.commit(); // //更新以后,在得到更新后的名字 // session = sessionFactory.getCurrentSession(); // tx = session.beginTransaction(); // gb = (Guestbook) session.get(Guestbook.class, new Integer(3)); // tx.commit(); // System.out.println(gb.getName()); //session对象的delete()方法删除一条记录 // Configuration config = new Configuration().configure(); // SessionFactory sessionFactory = config.buildSessionFactory(); // Session session = sessionFactory.getCurrentSession(); // Transaction tx = session.beginTransaction(); // Guestbook gb = (Guestbook) session.get(Guestbook.class, new Integer(5)); // session.delete(gb); // tx.commit(); //query接口 使用Query类型的对象可以方便进行查询数据库的数据 // Configuration config = new Configuration().configure(); // SessionFactory sessionFactory = config.buildSessionFactory(); // Session session = sessionFactory.getCurrentSession(); // Transaction tx = session.beginTransaction(); // Query query = session.createQuery("from Guestbook"); // List list = query.list(); // tx.commit(); // // int l = list.size(); // System.out.println("当前数据库中的Guestbook表中一共有"+ l + "条记录数。"); // Guestbook gb = new Guestbook(); // for(int i = 0;i<l;i++){ // // gb = (Guestbook) list.get(i); // System.out.println(gb.getName()); // } //Criteriia接口与Query接口类似,他允许创建并执行面向对象方式的查询。 Configuration config = new Configuration().configure(); SessionFactory sessionFactory = config.buildSessionFactory(); Session session = sessionFactory.getCurrentSession(); Transaction tx = session.beginTransaction(); Criteria crit = session.createCriteria(Guestbook.class); Criterion criterion1 = Restrictions.like("name", "ka%"); Criterion criterion2 = Restrictions.between("id", new Integer(1), new Integer(20)); crit.add(criterion1); crit.add(criterion2); List list =crit.list(); tx.commit(); int l = list.size(); System.out.println("当前数据库中的Guestbook表中一共有" + l + "条name字段为ka字符开始且id值为1-20之间的记录"); Guestbook gb = new Guestbook(); for(int i =0;i<l;i++){ gb = (Guestbook) list.get(i); System.out.println(gb.getName()); } } }
注:
本代码为个人学习时所写,实现了hibernate对数据库数据的增删改查操作
涉及到了SessionFactory接口,Session接口,Transaction接口,Query接口,Criteria接口等一些方法的用法。
及Session接口中的get() load() update() delete() 方法的用法
和Session接口中的 createQuery(),createCriteria() 两个方法的用法。
此代码封装了多个功能模块的方法。
请参考部分运行理解。
相关文章推荐
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- SQL 游标使用的小例子,对于每行数据根据参数的不同进行Insert或Update操作.
- datalist 的用法。也是增删改查,但是比较智能。用数据绑定的方式,可以有不同的显示方法,下面是对一个表的增删改查的参考代码
- 发一个自己写的小工具,生成类似petshop4的数据操作方面的代码
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- php操作redis中的hash和zset类型数据的方法和代码例子
- 对于orale中的表数据类型的一个简单例子
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- javascript操作xml(增删改查)例子代码
- 一个使用GridView显示数据,并且可以进行添加、修改、删除操作的例子
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- SSH中Spring的hibernateTemple中提供一个得到result数据集的代码,对于SSH初学者而言,这样能将baseDao的代码融合到其中
- 利用java代码操作线上redis数据(增删改查)
- javascript操作xml(增删改查)例子代码hta版
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- Hibernate实现数据的增删改查(CRUD)操作
- 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- hibernate中映射blob数据类型的一个例子
- php操作redis中的hash和zset类型数据的方法和代码例子