Hibernate——开发实例(一)

Hibernate项目开发实例

1、创建数据库模型

Hibernate——开发实例(一)_第1张图片

2、创建Java工程

3、加入Hibernate的jar文件

Hibernate的jar文件

数据库的jar文件

Hibernate——开发实例(一)_第2张图片(可在网上下载jar包)

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

Hibernate——开发实例(一)_第3张图片

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

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

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

Hibernate——开发实例(一)_第4张图片

Hibernate——开发实例(一)_第5张图片

6、编写Hibernate的配置文件

默认:src/hibernate.cfg.xml

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

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

Hibernate——开发实例(一)_第6张图片

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要求必须有事务

Hibernate——开发实例(一)_第7张图片

@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 goodsList = query.list();
        for (Goods goods : goodsList) {
            System.out.println(goods.getGoodsName());
        }
        session.close();
    }

你可能感兴趣的:(Hibernate)