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