本文共 3295 字,大约阅读时间需要 10 分钟。
步骤 1:新建项目hibernateDemo
步骤2:在WEB-INF的lib目录下引入hibernate所需要的jar包
步骤3:在src目录下创建hibernate的配置文件hibernate.cfg.xml
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/hibernate root root org.hibernate.dialect.MySQLDialect true true update
步骤4:创建实体类UserVO
package com.cn.vo;public class UserVO { private String id; private String username; private String password; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
步骤5:创建实体类UserVO的映射文件User.hbm.xml
步骤6:将User.hbm.xml文件加入到hibernate的配置文件hibernate.cfg.xml中
步骤7:使用hibernate工具类将对象模型生成关系模型(即将实体类映射成数据库中的表)
package com.cn.util;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * 工具类: * 用于将对象模型转换为关系模型,即将java中的对象生成数据库中的表 * */public class ExportDBUtil { public static void main(String[] args) { /** * new Configuration();默认是读取hibernate.properties配置文件 * new Configuration().configure(); 用来读取hibernate.cfg.xml配置文件 * */ Configuration configuration=new Configuration().configure(); /** * SchemaExport工具类:用于将类导出生成数据库表 * */ SchemaExport export=new SchemaExport(configuration); /** * 开始导出 * 第一个参数:script是否打印ddl信息 * 第二个参数:export是否导出数据库中生成表 * */ export.create(true,true); }}表创建成功后,会在控制台中显示如下信息
步骤8:测试
8.1、使用Configuration读取hibernate.cfg.xml配置文件
8.2、创建SessionFactory
8.3、创建Session
8.4、手动开启事务
8.5、事务操作
8.6、提交事务
8.7、关闭session和sessionFactory
package com.cn.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import com.cn.vo.UserVO;public class Test { public static void main(String[] args) { //1.通过Configuration读取hibernate.cfg.xml配置文件 Configuration configuration=new Configuration().configure(); //2.创建SessionFactory StandardServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); SessionFactory sessionFactory =configuration.buildSessionFactory(serviceRegistry); //3.通过sessionFactory创建Session Session session=null; Transaction tx=null; try{ session=sessionFactory.openSession(); //4、通过session手动开启事务 tx=session.beginTransaction(); //5、实例化一个类 UserVO userVO=new UserVO(); userVO.setUsername("Tom"); userVO.setPassword("123456"); //6、保存用户 session.save(userVO); //7、提交事务 tx.commit(); }catch(Exception e){ //异常则回滚事务 tx.rollback(); e.printStackTrace(); }finally{ //关闭session和sessionFactory if(session!=null){ session.close(); } if(sessionFactory!=null){ sessionFactory.close(); } } }}结果如下:
还可以查看数据库表t_user中是否生成记录