Hibernate入门代码

1.下载Hibernate的开发包

    网址:http://hibernate.org/orm/downloads/

2.创建web project 环境

 实体类和数据库表

   

3.对象关系映射表

   在实体所在的目录下导入映射文件xxx.hbm.xml(一般都会和实体名字一致)

   

4.配置连接数据库基本属性

   在src下导入hbiernate.cfg.xml(也就是hibernate配置文件)

   

5.编写测试类代码

public class testDemo {

    // 插入一条数据
    @Test
    public void insertTest() {
        // 1、创建一个SessionFactory对象
        SessionFactory sessionFactory = null;
        // 1.1创建Configuration对象
        Configuration configure = new Configuration().configure();
        // 创建一个ServiceRegistry对象 需要在该对象当中注册hibernate的任何配置和服务才能有效
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configure.getProperties())
                .buildServiceRegistry();

        // 当前写法属于之前的写法 删除线表示该方法已经过时 但可以继续使用
        // sessionFactory = configure.buildSessionFactory();
        sessionFactory = configure.buildSessionFactory(serviceRegistry);

        // 2、创建一个Session对象
        Session session = sessionFactory.openSession();

        // 3、开启事务
        Transaction transaction = session.beginTransaction();

        // 4、执行插入操作
        Customer customer = new Customer();
        customer.setPhone("123123123");
        customer.setUsername("测试2");
        session.save(customer);

        // 5、提交事务
        transaction.commit();

        // 6、关闭session
        session.close();

        // 7、关闭SessionFactory
        sessionFactory.close();

    }
    
    // 修改一条数据
    @Test
    public void updateTest() {
        // 1、创建一个SessionFactory对象
        SessionFactory sessionFactory = null;
        // 1.1创建Configuration对象
        Configuration configure = new Configuration().configure();
        // 创建一个ServiceRegistry对象 需要在该对象当中注册hibernate的任何配置和服务才能有效
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configure.getProperties())
                .buildServiceRegistry();

        // 当前写法属于之前的写法 删除线表示该方法已经过时 但可以继续使用
        // sessionFactory = configure.buildSessionFactory();
        sessionFactory = configure.buildSessionFactory(serviceRegistry);

        // 2、创建一个Session对象
        Session session = sessionFactory.openSession();

        // 3、开启事务
        Transaction transaction = session.beginTransaction();

        // 4、执行插入操作
        Customer customer = new Customer();
        customer.setId(7);
        customer.setUsername("测试3");
        session.update(customer);

        // 5、提交事务
        transaction.commit();

        // 6、关闭session
        session.close();

        // 7、关闭SessionFactory
        sessionFactory.close();

    }
    
    // 删除一条数据
    @Test
    public void deleteTest() {
        // 1、创建一个SessionFactory对象
        SessionFactory sessionFactory = null;
        // 1.1创建Configuration对象
        Configuration configure = new Configuration().configure();
        // 创建一个ServiceRegistry对象 需要在该对象当中注册hibernate的任何配置和服务才能有效
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configure.getProperties())
                .buildServiceRegistry();

        // 当前写法属于之前的写法 删除线表示该方法已经过时 但可以继续使用
        // sessionFactory = configure.buildSessionFactory();
        sessionFactory = configure.buildSessionFactory(serviceRegistry);

        // 2、创建一个Session对象
        Session session = sessionFactory.openSession();

        // 3、开启事务
        Transaction transaction = session.beginTransaction();

        // 4、执行插入操作
        Customer customer = new Customer();
        customer.setId(7);
        session.delete(customer);

        // 5、提交事务
        transaction.commit();

        // 6、关闭session
        session.close();

        // 7、关闭SessionFactory
        sessionFactory.close();

    }
    
    // 根据id进行查询
    @Test
    public void findByIdTest() {
        // 1、创建一个SessionFactory对象
        SessionFactory sessionFactory = null;
        // 1.1创建Configuration对象
        Configuration configure = new Configuration().configure();
        // 创建一个ServiceRegistry对象 需要在该对象当中注册hibernate的任何配置和服务才能有效
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configure.getProperties())
                .buildServiceRegistry();

        // 当前写法属于之前的写法 删除线表示该方法已经过时 但可以继续使用
        // sessionFactory = configure.buildSessionFactory();
        sessionFactory = configure.buildSessionFactory(serviceRegistry);

        // 2、创建一个Session对象
        Session session = sessionFactory.openSession();

        // 3、开启事务
        Transaction transaction = session.beginTransaction();

        // 4、根据主键进行查询
        Customer customer = (Customer) session.get(Customer.class, 6);
        System.out.println(customer);

        // 5、提交事务
        transaction.commit();

        // 6、关闭session
        session.close();

        // 7、关闭SessionFactory
        sessionFactory.close();

    }
    
    /* 
     *     Hibernate框架查询数据可以通过Query对象完成
     *         Session对象提供了两个方法可以获得Query对象
     *                 
     * 
     * 查询全部数据
     *     session.createQuery
     *     
     *     session.createSQLQuery
     */
    @Test
    public void findAllTest() {
        // 1、创建一个SessionFactory对象
        SessionFactory sessionFactory = null;
        // 1.1创建Configuration对象
        Configuration configure = new Configuration().configure();
        // 创建一个ServiceRegistry对象 需要在该对象当中注册hibernate的任何配置和服务才能有效
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configure.getProperties())
                .buildServiceRegistry();

        // 当前写法属于之前的写法 删除线表示该方法已经过时 但可以继续使用
        // sessionFactory = configure.buildSessionFactory();
        sessionFactory = configure.buildSessionFactory(serviceRegistry);

        // 2、创建一个Session对象
        Session session = sessionFactory.openSession();

        // 3、开启事务
        Transaction transaction = session.beginTransaction();

        // 4、查询全部数据   HQL语句:from Customer
        Query query = session.createQuery("from Customer");
        List<Customer> list = query.list();
        System.out.println(list);
        
        // 5、提交事务
        transaction.commit();

        // 6、关闭session
        session.close();

        // 7、关闭SessionFactory
        sessionFactory.close();

    }
    
    @Test
    public void findAll2Test() {
        // 1、创建一个SessionFactory对象
        SessionFactory sessionFactory = null;
        // 1.1创建Configuration对象
        Configuration configure = new Configuration().configure();
        // 创建一个ServiceRegistry对象 需要在该对象当中注册hibernate的任何配置和服务才能有效
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configure.getProperties())
                .buildServiceRegistry();

        // 当前写法属于之前的写法 删除线表示该方法已经过时 但可以继续使用
        // sessionFactory = configure.buildSessionFactory();
        sessionFactory = configure.buildSessionFactory(serviceRegistry);

        // 2、创建一个Session对象
        Session session = sessionFactory.openSession();

        // 3、开启事务
        Transaction transaction = session.beginTransaction();

        // 4、查询全部数据   HQL语句:from Customer
        Query query = session.createSQLQuery("select * from customer");
        List<Customer> list = query.list();
        System.out.println(list);
        
        // 5、提交事务
        transaction.commit();

        // 6、关闭session
        session.close();

        // 7、关闭SessionFactory
        sessionFactory.close();

    }

}
原文地址:https://www.cnblogs.com/yz-bky/p/12545212.html