博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate(2)---入门示例
阅读量:4089 次
发布时间:2019-05-25

本文共 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中是否生成记录

你可能感兴趣的文章
phpquery抓取网站内容简单介绍
查看>>
找工作准备的方向(4月22日写的)
查看>>
关于fwrite写入文件后打开查看是乱码的问题
查看>>
用结构体指针前必须要用malloc,不然会出现段错误
查看>>
Linux系统中的美
查看>>
一些实战项目(linux应用层编程,多线程编程,网络编程)
查看>>
我觉得专注于去学东西就好了,与世无争。
查看>>
原来k8s docker是用go语言写的,和现在所讲的go是一个东西!
查看>>
STM32CubeMX 真的不要太好用
查看>>
STM32CubeMX介绍、下载与安装
查看>>
不要买铝合金机架的无人机,不耐摔,易变形弯曲。
查看>>
ACfly也是基于FreeRTOS的
查看>>
F330装GPS的位置
查看>>
pixhawk也可以用Airsim仿真
查看>>
《无人机电机与电调技术》可以看看
查看>>
我发现七月在线的GAAS课程基本都讲到了
查看>>
电机堵转
查看>>
carzepony也在想往FreeRTOS上迁移
查看>>
可以买个好点的电烙铁
查看>>
ACfly调参记录(包括ACfly-F330和ACfly-T265)
查看>>