已经在兰州上班近4个月了,但是由于在这边持久层框架使用的是mybatis,没有使用hibernate,我当时在其他地方上班的时候使用的hibernate最为持久层,为了把之前学的东西不忘掉,我还是总结总结我认为hibernate比较难懂和核心的东西。
这里我使用的是hibernate4.2.7,的版本,但是我看hibernate都已经4.9了,这是飞一般的速度呀。
1、首先介绍一下基本使用和配置(我是使用注解)
(1)、添加jar包
添加红框文件夹下面的全部jar包,这个是你只要使用hibernate就必须添加的包(required文件夹下面的所有jar)。
还的加一个数据库驱动包,我使用的mysql,使用我使用的是mysql驱动包,这个最好和计算机上安装的版本差不多,还有一个,我在前几天使用的hibernate生成表的时候突然发现生成不了,原来,我的数据库方言有问题,org.hibernate.dialect.MySQLDialect,org.hibernate.dialect.MySQL5Dialect,注意这两个的方言,5.3及以上版本用后面的一个,之前的版本就前面的一个。
包加完整之后如下图所示:
(2)、hibernate的配置
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 使用的数据库方言 --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 数据库驱动 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 数据库连接的url --> <property name="connection.url">jdbc:mysql://127.0.0.1:3306/hibernateDemo</property> <!-- 数据库的用户名 --> <property name="connection.username">root</property> <!-- 数据库的密码 --> <property name="connection.password">root</property> <!-- 显示sql语句 --> <property name="show_sql">true</property> <!-- 自动创建表 --> <property name="hbm2ddl.auto">update</property> <!-- 映射文件,这里使用的是注解,所有就是class文件,不是resource --> <mapping class="com.west.dao.User"/> </session-factory> </hibernate-configuration>
(3)、编写实体bean文件
package com.west.dao; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "user") public class User { private Integer userId; private String username; @Id @GeneratedValue(strategy = GenerationType.AUTO) public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
(4)、编写测试的java文件
package com.west.dao; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; public class Demo1 { public static void main(String[] args) { // 加载hibernate.cfg.xml配置文件 Configuration cfg = new Configuration().configure(); ServiceRegistry srb = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry(); SessionFactory sf = cfg.buildSessionFactory(srb); Session session = sf.openSession(); Transaction tr = session.beginTransaction(); User user = new User(); user.setUsername("zhangjl11"); session.save(user); tr.commit(); } }
注意:在获得SessionFactory的时候和之前有点不一样
相关推荐
Hibernate 4.2.7.Final是Java领域中著名的对象关系映射(ORM)框架的一个重要版本,于2013年10月23日发布。这个版本提供了许多改进和修复,旨在提升性能、稳定性和用户体验。在本文中,我们将深入探讨Hibernate ...
标题 "primefaces jsf spring3.2.4 hibernate4.2.7 maven整合" 涉及到的是一个基于Java技术栈的Web应用程序开发整合。以下是这些技术的详细说明: **PrimeFaces**:PrimeFaces是一个开源的用户界面组件库,专为Java...
hibernate-release-4.2.7.SP1.chm
这个压缩包文件 "struts-2.5.1-spring-4.2.7-hibernate-5.0.9" 提供了一个整合这三个框架的示例项目,方便开发者直接使用或学习如何将它们集成在一起。 Struts 2 是一个基于 Model-View-Controller (MVC) 架构的...
WinSCP4.2.7是一款在IT行业中广泛应用的FTP(File Transfer Protocol)客户端软件,尤其在Linux系统的管理和维护中,它扮演着至关重要的角色。这款工具以其强大的功能、直观的界面以及对多种协议的支持,成为了许多...
charles 4.2.7charles 4.2.7charles 4.2.7charles 4.2.7
Charles 4.2.7破解文件 自己亲自破解的,替换可用,不信可以看我之前破解的4.2.6. Charles 4.2.7破解文件 自己亲自破解的,替换可用,不信可以看我之前破解的4.2.6. Charles 4.2.7破解文件 自己亲自破解的,替换可用,...
Spring框架4.2.7版本是Java开发中的一个重要里程碑,它是Spring生态系统的组成部分,为开发者提供了全面的、模块化的应用程序开发支持。这个版本是Spring框架发展史上的一个稳定版本,包含了许多关键特性和改进,...
7. **Spring Boot**:虽然Spring Boot不在4.2.7的直接范畴内,但作为Spring生态的一部分,它与Spring Framework紧密配合,简化了Spring应用的初始化和配置过程,使得开发者能更快地启动项目。 8. **安全性**:...
unlocker4.2.7.zip Windows11 24h2专业版+正版Workstation 17测试通过
CAS-4.2.7是CAS项目的一个版本,此版本包含了SSO系统的源代码,便于开发者理解和定制。 SSO的核心概念包括: 1. **服务提供者(Service Provider)**:需要认证的Web应用或服务,它们依赖CAS服务器进行用户身份...
CAS4.2.7是CAS的一个特定版本,此版本包含了若干改进和修复,以提升系统的稳定性和安全性。 **安装与配置** 在开始使用CAS4.2.7之前,我们需要了解安装和配置的过程。"installation"文件夹中的文档详细阐述了这一...
总结,“css4.2.7.zip”的“css3参考手册.chm”为开发者提供了一个全面了解和掌握CSS3的强大工具。通过学习和实践,开发者能够更好地利用CSS3提升网页设计的美观度和用户体验,同时应对不断变化的浏览器环境。
该包是hibernate中所用的一个包,专门用来去处理特定的问题,它是和ehcache一起用的一个包
WinSCP4.2.7是一款流行的开源FTP(文件传输协议)和SFTP(安全文件传输协议)客户端,尤其在IT专业人员中广受欢迎。这款工具主要用于在本地计算机和远程服务器之间安全地移动文件,它提供了直观的图形用户界面,使得...
Charles4.2.7下载抓包利器配合dony,用着实在爽
4. **服务质量(QoS)**:MQTT 提供了三种服务质量等级:QoS 0(至多一次),QoS 1(至少一次),QoS 2(只有一次)。这些服务质量保证了消息的可靠传递。 5. **插件系统**:EMQ X 具有强大的插件机制,允许开发者...
我本地的 charles 4.2.7 中文版打包的。
Spring Framework 4.2.7.RELEASE 是该框架的一个稳定版本,发布于2016年,虽然现在已经有了更高级的版本,但4.2.x系列仍然是许多项目的基础。 首先,Spring 框架的核心特性包括依赖注入(Dependency Injection,DI...
《CSS4.2.7中文手册》是一个针对CSS(Cascading Style Sheets)技术的详细指南,主要关注CSS4.2.7版本的特性和应用。CSS是网页设计中的核心部分,它负责定义网页的布局、颜色、字体、大小等视觉样式。这个手册的中文...