Hibernate——开发实例(一)

Hibernate项目开发实例

1、创建数据库模型


2、创建Java工程

3、加入Hibernate的jar文件

Hibernate的jar文件

数据库的jar文件

(可在网上下载jar包)

4、编写实体类(ORM——O)


5、编写ORM文件(基于XML文件)

文件名:classname.hbm.xml与类同包

在与实体类同一个路径下创建一个Goods.hbm.xml文件



6、编写Hibernate的配置文件

默认:src/hibernate.cfg.xml

dialect方言:针对不同的数据库产品有不同方言

查询:project/etc/hibernate.properties可以找到数据库产品的方言


7、获得SessionFactory对象

// 加载hibernate.cfg.xml文件

Configuration configuration = new Configuration().configure();

// 获得sessionFactory,针对Hibernate4.0

ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();

SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);

8、获得session对象

在sessionFactory中有两种方式可以获取Session对象

1、sessionFactory.getCurrentSession();

2、sessionFactory.openSession();

9、使用Session对象实现CRUD操作

在执行增删改时Hibernate要求必须有事务


@Test
    public void delete(){
        Session session = this.openSession();
        Goods goods = (Goods) session.get(Goods.class, 5);
        Transaction tran = session.getTransaction();
        tran.begin();
        session.delete(goods);
        tran.commit();
        session.close();
    }
    @Test
    public void update(){
        Session session = this.openSession();
        Transaction tran = session.getTransaction();
        tran.begin();
        Goods goods = (Goods) session.get(Goods.class, 4);
        goods.setGoodsPrice(goods.getGoodsPrice()*0.5);
//        session.update(goods);
        tran.commit();
        session.close();
    }

@Test
    public void findbyid(){
        Session session = this.openSession();
        Goods goods = (Goods) session.get(Goods.class, 6);
        
        System.out.println(goods.getGoodsName());
        
        session.close();
    }

@Test
    public void findAll(){
        String sql ="select * from goods";
        String hql ="from com.no1.domain.Goods";
        //执行HQL要使用Query接口
        Session session =  this.openSession();
        Query query = session.createQuery(hql);
        List<Goods> goodsList = query.list();
        for (Goods goods : goodsList) {
            System.out.println(goods.getGoodsName());
        }
        session.close();
    }

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ddm01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值