博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate5-进阶添加工具类,对获取Session的方法封装
阅读量:7072 次
发布时间:2019-06-28

本文共 2961 字,大约阅读时间需要 9 分钟。

1.创建项目,项目名称hibernatedemo3,目录结构如图所示

2.在项目中创建lib目录存储jar文件,目录结构如图所示

3.在src目录中创建实体Bean Forum,包名(com.mycompany.demo.bean),如图所示

4.实体Bean Forum的内容如下

package com.mycompany.demo.bean;public class Forum {	private int fid;	private String name;	public Forum() {		super();	}	public Forum(String name) {		super();		this.name = name;	}	public int getFid() {		return fid;	}	public void setFid(int fid) {		this.fid = fid;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	@Override	public int hashCode() {		final int prime = 31;		int result = 1;		result = prime * result + fid;		result = prime * result + ((name == null) ? 0 : name.hashCode());		return result;	}	@Override	public boolean equals(Object obj) {		if (this == obj)			return true;		if (obj == null)			return false;		if (getClass() != obj.getClass())			return false;		Forum other = (Forum) obj;		if (fid != other.fid)			return false;		if (name == null) {			if (other.name != null)				return false;		} else if (!name.equals(other.name))			return false;		return true;	}}

5.在src目录中创建实体Bean Forum的映射文件Forum.hbm.xml,包名(com.mycompany.demo.bean),如图所示

6.映射文件Forum.hbm.xml的内容如下

 
   
      
         This class contains the forum detail.             
         
            
   

7.在src目录中创建工具类 HbnUtil,包名(com.mycompany.demo.util),如图所示

8.工具类 HbnUtil的内容如下

package com.mycompany.demo.util;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HbnUtil {	private static SessionFactory sessionFactory;		public static Session getSession(){		if(sessionFactory == null || sessionFactory.isClosed()){			sessionFactory = new Configuration().configure().buildSessionFactory();		}				return sessionFactory.getCurrentSession();	}}

9.在src目录中创建Hibernate的配置文件hibernate.cfg.xml,如图所示

10.Hibernate的配置文件hibernate.cfg.xml的内容如下

   
   
org.hibernate.dialect.MySQLDialect    
com.mysql.jdbc.Driver    
   
jdbc:mysql://localhost:3306/b_shequ_two    
      root        
   
update    
true    
true    
   
thread        
   

11.在项目中创建test目录存储测试文件,文件名称ManageForum,包名(com.mycompany.demo.bean),目录结构如图所示

12.ManageForum测试类的内容如下

package com.mycompany.demo.bean;import org.hibernate.Session;import org.hibernate.Transaction;import org.junit.Test;import com.mycompany.demo.util.HbnUtil;public class ManageForum {		@Test	public void testAdd(){		//1.获取Session		Session session = HbnUtil.getSession();		Transaction transaction = null;		try {			//2.开启事务			transaction = session.beginTransaction();			//3.执行操作			Forum forum = new Forum("hbnutil");			session.save(forum);			//4.提交事务			transaction.commit();		} catch (Exception e) {			//5.回滚事务			if(transaction != null){				transaction.rollback();			}			e.printStackTrace();		}	}}
本文转自 素颜猪 51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1911137

转载地址:http://ocell.baihongyu.com/

你可能感兴趣的文章
韩国瑜:高雄从未这么重要“等了100年才变重心”
查看>>
学习Java的几个阶段,这样走你会学的更好!
查看>>
山西沁县推广生物质能清洁供暖 改造完成4000余户
查看>>
人民币对美元汇率中间价报6.7774元 下调109个基点
查看>>
施耐德电气本土专利“破千”原创战略成果初现
查看>>
热烈祝贺刘鹏教授膺选第45届世界技能大赛云计算赛事中国赛区裁判长!
查看>>
JavaScript是如何工作的:使用MutationObserver跟踪DOM的变化
查看>>
2017年5月iOS招人心得(附面试题)
查看>>
大白话说java并发工具类-Semaphore,Exchanger
查看>>
个推数据统计产品(个数)iOS集成实践
查看>>
在单页应用中,如何优雅的监听url的变化
查看>>
iOS笔记之Runtime
查看>>
基于 Module 的 Laravel API 架构
查看>>
Swift4 0新特性之String、Array和Dictionary
查看>>
《程序员的自我修养》-读书笔记
查看>>
异步社区本周半价电子书(5月28日-6月03日)
查看>>
Redux应用多人协作的思路和实现
查看>>
RestTemplate实践
查看>>
FYSBIS分析报告:SOFACY的Linux后门
查看>>
javascript 代理模式(通俗易懂)
查看>>