使用Hibernate完成对象持久化

持久化是将程序中数据在瞬时状态和持久状态间转化的机制。


Hibernate就是在JDBC的方式上进行封装以简化JDBC方式繁琐的编码工作。
我们在编写程序的时候,以面向对象的方式处理数据;保存数据的时候,却以关系型数据库的方式存储,所以,客观上我们需要一种能在两者间进行转换的机制,称为对象-关系映射机制(ORM)。

使用Hibernate的基本步骤
1需要的jar包
使用myeclipse时,不用自己下载,右键项目-myeclipse中添加
2Hibernate配置文件“hibernate.cfg.xml”
用myeclipse添加jar包后会提示添加
dialect参数是必须配置的,用于配置Hibernate使用的不同数据库类型;show_sql参数为true,则程序运行时在控制台输出执行的SQL语句;数据库表和实体的映射信息在另外的映射文件中定义,但需要在配置文件中声明。
3实体类和映射文件
实体类实现java.io.Serializable接口;实体类映射到数据库哪个表,以及哪个属性对应到数据库表的哪个字段,这些在映射文件中配置。

7个步骤
1读取配置文件
2创建SessionFactory
3打开session
4开始一个事务
5持久化操作
6提交操作
7关闭事务

实际操作
1先在myeclipse创建一个java项目,然后右键选择MyEclipse->Add Hibernata Capabilities
这里写图片描述
2配置相关信息,添加数据库连接时,第一次要自己手动输入,以后可以使用DB Driver选择已经使用过的数据库连接
这里写图片描述
3第二步finish后可以看看hibernata.cfg.xml,右上角properties可以设置一些属性,比如show_sql,可以在程序运行时在控制台输出执行的SQL语句
这里写图片描述
4利用反向工程完成映射文件。在DB Browser(Window->show view->other)中,选择数据库,如果第一次用,右键->new新建。
这里写图片描述
创建完成后可以选择数据库
这里写图片描述
右键数据库表选择Hibernate Reverse Engineering,然后勾选头两项,下一步时id generator选择native,生成了实体类和映射文件
这里写图片描述
到这里,完成了“3个准备”
然后是“7个步骤”
编写测试文件

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.hittopthink.core.entity.Teacher;

public class HibTest1 {

public static void main(String[] args)
{
    //读取配置文件
    Configuration conf=new Configuration().configure();
    //创建sessionfactory
    SessionFactory sf=conf.buildSessionFactory();
    Session session=sf.openSession();//打开session
    Transaction tx=null;
    try{
        tx=session.beginTransaction();//开始一个事务
        //持久化操作
        Teacher teacher=new Teacher();
        teacher.setTId(56);
        teacher.setTUser("don");
        teacher.setTPswd("123");
        teacher.setTName("mrxia");
        session.save(teacher);
        tx.commit();//提交事务

    }catch(Exception e)
    {
        if(null!=tx){tx.rollback();}
        e.printStackTrace();

    }finally{
        session.close();
    }
}

}
运行,添加成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值