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

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

你可能感兴趣的:(web后台开发,Hibernate)