Hibernate第一个程序
搭建Hibernate环境
1.新建java项目
2.导入相关jar包(jar包在上一篇中可以下载到)
3.加入数据库的jar包(我这里使用的mysql-connector-java-5.1.25)
4.编写配置文件 hibernate.cfg. xml, *.hbm.xml
hibernate.cfg. xml在hibernate资源包中有相关模版可以直接复制hibernate-release-4.3.11.Final\project\etc\hibernate.cfg.xml放在src下并且修改。
5.配置数据库连接信息
6.在数据库创建相应的表。
7.在java中创建表对应的pojo类,与表字段一一对应。
8.编写*.hbm.xml配置文件,放在pojo类所在包下,头文件可以在project下查找,也可以拷贝,并且将映射关系加入到hibernate.xml中。
9.测试配置.
1).新建Configuration对象
Configuration用于管理读取配置文件,加载配置和解析配置文件,创建SessionFactory,在一个应用中最好是单例的。
Configuration cfg = new Configuration().configure(); --在源码中configure方法读取的是hibernate.cfg.xml文件,所以我们加入的配置文件名称要默认为hibernate.cfg.xml
在其源码中还重载了configure方法在其中可以输入一个字符串,表示文件的名称,这里我们可以自定义hibernate.cfg.xml的文件名。
还有一种可编程式的创建方式,但不推荐使用,在此不多做说明。
2).通过Configuration创建SessionFactory对象
SessionFactory对象:是一个session工厂。是一个重量级对象。在一个应用中最好是单例的。是线程安全的。属于进程级别的对象。在集群范围内也可以使用。
ServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
SessionFactory sf = cfg.buildSessionFactory(registry);
3).通过SessionFactory得到Session
Session对象:使用hibernate进行数据库操作主要使用Session。Session可以理解为对Connection对象的一个包装。Session对象中封装了对数据库CRUD操作的方法。Session是一个线程不安全的对象。生命周期非常短暂。一般和事务一一对应。session又成为hibernate中的一级缓存。Session又是Transaction对象的工厂.
Session session = sf.openSession();
4).通过Session对象得到Transaction对象
Transaction对象:事务管理对象。通过session来获取到该对象。包括了事务的开启,事务的提交,事务的回滚。
//方法一
Transaction tx = session.beginTransaction();
//方法二
Transaction t = session.getTransaction();
t.begin();
5).保存数据
User user = new User();
user.setName("张三疯");
user.setPwd("1111");
session.save(user);
6).提交事务
tx.commit();
7).关闭session
session.close();
10.数据库加入数据即为成功。
注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!