Hibernate使用session查找、更新、和删除文件

    xiaoxiao2025-12-08  2

    引例:什么是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("正在销毁");       } }

    转载请注明原文地址: https://ju.6miu.com/read-1304719.html
    最新回复(0)