1.建立java项目
2.创建User Library,加入以下的jar
*HIBERNATE_HOME/hibernate3.jar
*HIBERNATE_HOME/lib/*.jar
*MySql jdbc驱动
3.创建 hibernate 配置文件 hibernate.cfg.xml ,为了调试方便所以也加入 log4j配置文件,放入到 src 下
4.定义实体类
5.定义 User 类的映射文件 User.hbm.xml, 放入到和实体类相同的目录下
6.将 User.hbm.xml 文件加入到 hibernate.cfg.xml 文件中,将hibernate.cfg.xml 文件放到 src 下
7.编写 hbm3ddl 工具类,将实体类生成数据库表
8.开发客户端
9.为了便于跟踪 sql 执行,在 hibernate.cfg.xml 文件中加入 <property name="hibernate.show_sql">true</property>
客户端介绍
//读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure(); //Configuration对象是用来读取配置文件的,此对象默认加载hibernate.properties文件,当调用configure()方法时,加载的才是hibernate.cfg.xml文件,configure方法内部是这样执行的,configure("/hibernate.cfg.xml") 所以加载xml时,一定要调用这个方法,不过这个方法还有一个有参数的重载方法,通过重载方法可以将我们改名或改变路径的hibernate.cfg.xml文件加载到
//创建Sessionfactory
SessionFactory factory = cfg.buildSessionFactory(); //sessionFactory是与数据库绑定的,一个数据库对应一个sessionFactory,该对象是一个重量级对象,创建很费时,和二级缓存有关系,该对象是线程安全的
Session session = factory.openSession(); //一个session相当于对一个封装的connection但是又有不同,openSession()后并不等于就会open了一个connnection,只有用时才会到连接池里去取一个connnection,session对象是非线程安全的
Transaction tr = session.beginTransaction(); //hibernate的事务默认为关闭,所以使用时必须先开启事务
User user = new User();
user.setName("java_min");
session.save(user);
tr.commit();
session.close();
注意:hibernate的autocommit默认为false