浅谈:Hibernate中HibernateUtil工具类

本文探讨了为何在Hibernate中创建工具类HibernateUtil的必要性,旨在减少重复代码,提高代码复用性。详细介绍了如何在PersonMap.java、HibernateUtil工具类和PersonManagerMap.java中使用HibernateUtil,并通过配置文件hibernate.cfg.xml实现数据库操作。通过使用HibernateUtil,可以在多线程环境中隔离数据共享,简化Session和SessionFactory的管理。
摘要由CSDN通过智能技术生成

首先我们需要知道为什么咱们要创建Hibernate工具类

  一些固定而且经常使用的步骤我们期望做成一个工具类,以后再需要重复步骤时咱们仅需要引用此工具类就可以,从而避免了一直创建重复代码。比如加载数据库的驱动等,这里Hibernate中我们每个主程序都需要加载hibernate.cfg.xml文件、创建SessionFactory对象、创建Session对象、关闭session。这些都是固定化的步骤,因此我们将它们写在工具类HibernateUtil中,以后咱们直接引用此文件创建各对象即可,大大减少了代码量,提高了代码复用性。

下面以Hibernate映射Map集合来说Hibernate工具类 一些解释都已经加入代码块的注解中

一:PersonMap.java

package com.mao;

import java.util.HashMap;
import java.util.Map;

import javax.persistence.*;
@Entity
@Table(name="personMap_inf")
public class PersonMap {
	@Id
	@Column(name="person_id")
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Integer id;
	private String name;
	private String age;
	@ElementCollection(targetClass=Float.class)
	@CollectionTable(name="score_inf",joinColumns=@JoinColumn(name="person_id",nullable=false))
	//映射保存Map key的数据列
	@MapKeyColumn(name="subject_name")
	//指定Map key的类型为String类型
	@MapKeyClass(String.class)
	//映射保存 Map value的数据列
	@Column(name="mark")
	private Map<String,Float>scores=new HashMap<>();
	//省略全部属性的set get方法

二:工具类HibernateUtil

package com.mao;

import org.hibernate.*;
import org.hibern
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值