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();
}
}