引例:什么是hibernate,hibernate是一种持久化框架,什么是持久化,能够将瞬间状态数据和持久状态数据进行双向转换
什么是ORM ORM是一种对象——关系数据映射
怎样实现ORM呢?ORM是通过描述对象和数据库之间映射的元数据(元数据通常采用XML格式,并存放在专门的对象——关系映射文件中),将应用程序中的1对象自动持久化到关系数据库中。
演示MyEclipse中使用Hibernate访问数据库,该应用通过HibernateAPI实现对电商平台中客户信息的保存,具体步骤如下:
创建客户持久化类、搭建Hibernate环境、创建客户对象与客户表的映射关系配置文件、创建Hibernate配置文件,最后使用Hibernate API操作客户对象实现持久化。最终结果是将java应用程序数据保存到数据库客户表中。(注意:Hibernate还要求持久化类必须提供一个不带参数的默认构造方法,因为在程序运行的时候,Hibernate会运用java的反射机制来构造持久化类的实例)
编写Junit测试类
package hibernatetest; import hibernate.News; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.After; import org.junit.Before; import org.junit.Test; public class TestNew { private SessionFactory sessionFactory; private Session session; private Transaction transaction; @Before public void before(){ //获取session对象 // session=HibernateSessionFactory.getSession(); //创建事务 // transaction=session.beginTransaction(); //创建服务注册对象 // ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry(); // sessionFactory=config.buildSessionFactory(serviceRegistry);//创建服务注册对象 Configuration config=new Configuration().configure();//加载配置文件 sessionFactory=config.buildSessionFactory();//创建会话工厂 session=sessionFactory.openSession();//创建会话 transaction=session.beginTransaction();//创建事务 System.out.println("正在初始化创造方法"); } @Test public void addTest(){ //创建News对象 News new1=new News("第三章","hibernate3"); //保存对象 session.save(new1); } @Test public void delTest(){ //找到id为1的对象 News new1=(News)session.get(News.class,2); session.delete(new1); System.out.println("正在执行"); } @Test public void updateTest(){ //先根据id找到新闻 News new1=(News)session.get(News.class,2); new1.setContent("第二章"); new1.setTitle("hibernate"); session.update(new1); } @After public void destroy(){ transaction.commit(); session.close(); System.out.println("正在销毁"); } }
