配置文件,映射文件,持久化类之间的关系:
java实现代码:
public class PersonTest { private static SessionFactory sessionFactory; static{ Configuration configuration = new Configuration(); //加载配置文件 configuration.configure(); //采用了工厂模式创建sessionFactory, //该类是hibernate中比较重要的一个类 sessionFactory = configuration.buildSessionFactory(); } @Test public void testSavePerson(){ Session session = sessionFactory.openSession(); //hibernate中默认事务不是自动提交的, //所以要先创建时候之后的修改操作才会生效 Transaction transaction = session.beginTransaction(); Person person = new Person(); //由于在映射文件中已经说明主键的产生方式是hibernate内部产生,所以在程序中不用设置主键 person.setPname("aa"); person.setPsex("男"); session.save(person); //提交事务 transaction.commit(); session.close(); } /** * 1、必须从数据库中提取出数据再进行修改 * 2、session.get方法创建的对象利用的是默认的构造函数 */ @Test public void testUpdatePerson(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); /** * 1、先把修改的那行提取出来 * 说明: * Serializable是String和包装类的共同的父类 */ Person person = (Person)session.get(Person.class,1L); //将性别该为不想 person.setPsex("不详"); session.update(person); transaction.commit(); session.close(); } @Test public void testQuery(){ Session session = sessionFactory.openSession(); List<Person> personList = session.createQuery("from Person").list(); System.out.println(personList.size()); } @Test public void testDelete(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Person person = (Person)session.get(Person.class, 1L); session.delete(person); transaction.commit(); session.close(); } }
实现hibernate的crud(增删查改),布布扣,bubuko.com
原文:http://blog.csdn.net/kingherooo/article/details/20710759