Hibernate数据持久化组件
对象持久化,把数据保存在永久的存储介质中(数据库)
OR/M(object relation mapping)对象关系映射。
POJO类(Plain Old Java Object),就是标准的Java Bean。
Hibernate就是一个可以自动的根据xml完成对象关系映射,并持久化到数据库的开源组件。
Hibernate的底层也是JDBC实现的。
Hibernate是通过xml文件的配置,对数据库的底层的方言,以及数据库连接所需的信息,以及连接数据库的驱动。Hibernate的系统配置文件的名字一般叫做hibernate.cfg.xml,映射类的配置文件的命名一般是类名.hbm.xml。一般将映射类的xml文件和实体类放在一起。
hibernate.cfg.xml中会设置数据库的连接信息,以及引用的其他文件的文件名,和一些其他的摄制。这个文件一般放在项目的根目录下。
在hibernate.cfg.xml的写法
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property><!--显示sql语句-->
<property name="format_sql">true</property><!--使显示的sql语句格式化-->
<property name="dialect">....</property><!--使用的数据库方言信息-->
<property name="connection.driver_class">....</property>
<!--使用的数据库的驱动-->
<property name="connection.url">....</property><!--连接数据库使用的url-->
<property name="connection.username">...</property>
<!--连接数据库的用户名-->
<property name="connection.password">...</property>
<!--连接数据库的密码-->
<mapping resource="xxx/xxxx/Xxxxxx.hbm.xml"/>
<!—引入映射文件,要写类的映射的xml文件的全路径及文件名-->
</session-factory>
</hibernate-configuration>
Hibernate中类的映射的XXXX.hbm.xml的写法
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="XXX.XXX.XXX"><!--映射类所在的包-->
<class name="Xxxxxx" table="Xxxxx"><!--将类和数据库的表联系起来-->
<id name="studentId" column="studentId"><!--主键生成策略-->
<generator class="assigned"/>
<!--指定主键生成策略为用户指定-->
<!--还可以指定其他的主键声称策略-->
</id>
<property name="XXX" column="XXXX" type="string"/>
<!--类中的书性和字段之间建立联系-->
<property name="homeAddress" column="homeAddress"/>
<property name="schoolAddress" column="schoolAddress"/>
<property name="brithday" column="brithday" type="data"/>
<!--在hibernate中其他类型可以自动识别只有Data类型必须指名-->
</class>
</hibernate-mapping>
使用Hibernate编程步骤
1,配置环境,加载Hibernate的jar文件,以及连接数据库连接使用的jar文件,并配置CLASSPATH环境变量。
2,写hibernate所需的配置文件,hibernate.cfg.xml ,Xxxxx.hbm.xml
3,写POJO类
4,调用hibernate类中的方法。
1)使用Configuration对象的buildSessionFactory()方法创建SessionFactory对象
2)使用SessionFactory对象openSession()方法创建Session对象。
3)使用Session的相应方法来操作数据库,将对象信息持久化到数据库。
获得Session实现类对象的工厂
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
public class HibernateSessionFactory {
private static final Configuration cfg = new Configuration();
private static SessionFactory sessionFactory=null;
public static Session getSession() throws HibernateException {
try {
cfg.configure();
sessionFactory = cfg.buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return session;
}
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
private HibernateSessionFactory() {
}
}
分享到:
相关推荐
**5.1 Hibernate知识辅导(1)** - **Hibernate简介**: Hibernate框架的特点及其与JDBC的区别。 - **环境搭建**: 如何配置Hibernate环境。 - **映射文件**: hibernate.cfg.xml和.hbm.xml文件的定义。 **5.2 ...
1. **Struts框架**: Struts是Apache软件基金会的一个开源项目,主要用于MVC(Model-View-Controller)架构的设计。在博客系统中,Struts负责处理用户请求,将HTTP请求映射到相应的Action类,执行业务逻辑,并通过...
知识点1: Spring Boot 框架 * Spring Boot 是一个基于 Spring 框架的快速应用程序开发框架,能够快速构建独立的、生产级别的基于 Spring 的应用程序。 * Spring Boot 제공了许多默认配置和 starter 依赖项,能够...
5. **框架知识**:如果你有使用MVC框架(如Spring MVC)、持久层框架(如Hibernate)或前端框架(如Angular、React)的经验,应明确指出并简述应用情况。 6. **数据库技能**:展示你的SQL知识,包括查询优化、事务...
这是一个基于Java技术构建的饮食分享平台项目,包含了完整的源代码、数据库设计、部署文档以及辅导视频,非常适合学习和研究Java Web开发。以下是该项目涉及到的主要知识点: 1. **Java编程语言**:作为项目的基石...
根据给定的文件信息,我们可以提炼出一系列与Java程序设计相关的知识点,这48讲加上额外的2讲辅导课程,涵盖了Java编程的基础到高级技术,是深入理解和掌握Java语言的宝贵资源。以下是对这些知识点的详细说明: ###...
1. **Java基础知识**: - 数据类型:了解基本数据类型(整型、浮点型、字符型、布尔型)以及它们的内存占用和范围。 - 变量与常量:理解变量的声明、初始化和作用域。 - 类与对象:掌握类的定义、对象的创建及...
8. **辅导视频**:01-视频可能是一系列的教学视频,帮助学习者理解系统的实现过程,包括编程技巧、问题调试、功能测试等内容,有助于深化理论知识和实践能力。 9. **版本控制**:项目可能使用Git进行版本控制,确保...
《基于SSH的婴幼儿产品销售系统》是一个典型的Java毕业设计项目,它涵盖了软件工程中的多个重要知识点,包括系统架构设计、数据库管理、Web开发等。在这个项目中,SSH框架被广泛运用,SSH指的是Spring、Struts和...
“3-资料”可能包含相关的学习资料,例如Java编程基础、Spring Boot教程、数据库管理知识等,帮助用户深入理解系统原理,提升开发技能。 六、辅导视频 “5-视频”中的辅导视频是系统的重要补充,通过实例演示,...
- 数据库:MySQL或Oracle存储用户信息、作业、成绩等数据,使用JDBC进行数据库操作,可能结合Hibernate或MyBatis简化ORM(对象关系映射)。 - 前端:HTML、CSS和JavaScript,可能使用Bootstrap或Vue.js等框架提升...
“1-部署文档”提供了系统在服务器上的安装和配置步骤,包括环境搭建、数据库连接设置、应用服务器配置等。部署过程通常涉及Java开发环境(如JDK)、应用服务器(如Tomcat)、数据库服务器(如MySQL)的安装,以及...
1. **Java编程语言**:本项目的核心开发语言是Java,它是一种跨平台的面向对象编程语言。Java的特性如封装、继承和多态在系统设计中得以体现,提高了代码的可维护性和复用性。同时,Java的异常处理机制、IO流、集合...
1. **视频教程**:通过视频,可以清晰地看到每个步骤的演示,帮助理解理论知识在实际操作中的应用。 2. **学习资料**:可能包括相关的技术文档、教程文章,进一步深入学习Java Web开发和健身房管理系统的具体实现...
开发者可能还使用了Spring框架来管理依赖,Hibernate或MyBatis进行ORM(对象关系映射),这些都属于Java开发中的常用技术栈。 "数据库结构文档"(2-数据库结构文档)详细阐述了系统所使用的数据库设计,包括实体...
根据提供的信息,我们可以总结出以下相关的IT知识点: ### 一、尚硅谷的教育资源 #### Java教程 1. **Java基础阶段** - **20天横扫Java基础**:这是一套适合Java初学者的教程,通过20天的学习周期帮助学员快速...
这个项目的重点在于理解和应用Java编程语言来构建一个实用的业务系统,同时也涉及到数据库管理和系统部署的相关知识。 1. **Java编程基础**:Java是一种面向对象的编程语言,它的特性包括平台独立性、丰富的类库和...