- 浏览: 938662 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
知识点
【
下载地址http://www.hibernate.org,本教程使用3.2.5。
将下载目录/hibernate3.jar和/lib下的hibernate运行时必须的包加入classpath中:
antlr.jar,cglib.jar,asm.jar,commons-collections.jar,commons-logging.jar,jta.jar,dom4j.jar
配置文件hibernate.cfg.xml和hibernate.properties,XML和properties两种,这两个文件的作用一样,提供一个即可,推荐XML格式,下载目录/etc下是示例配置文件。
可以在配置文件指定:
数据库的URL、用户名、密码、JDBC驱动类、方言等。
启动时Hibernate会在CLASSPATH里找这个配置文件。
映射文件(hbm.xml,对象模型和关系模型的映射)。在/eg目录下有完整的hibernate示例。
Domain Object限制
1.默认的构造方法(必须的)。
2有无意义的标示符id(主键)(可选)
3非final的,对懒加载有影响(可选)
Domain Java Object(User)
public class User {
private int id;
private String name;
private Date birthDay;
//getter setter…
}
类映射文件
类名.hbm.xml
<?xml version="1.0"?>
<hibernate-mapping package=“cn.itcast.domain">
<class name="User" table="user">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="birthday”/>
</class>
</hibernate-mapping>
Java代码:
1.初始化代码(只做一次)
Configuration cfg = new Configuration();
cfg.configure(“config.cfg.xml”);
也可以通过cfg.setProperty设置属性。
SessionFactory sessionFactory = cfg.buildSessionFactory();
2.模板代码
Session session = null;Transaction tx = null;
try{
session = sessionFactory.openSession();
tx = session.beginTransaction();
//…你的代码save,delete,update,get…
tx.commit();
}catch(Exception e){
if(tx !=null)tx.rollback();throw e;
}finally{
if(session != null)session.close();
}
】
第一搭建环境:
<1、导入hibernate相关*.jar包和数据库驱动
<2、配置hibernate配置文件hibernate.cfg.xml模版可从hibernate例子得到
<!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>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- jdbc:mysql:///test 以下表示localhost 3306 test:数据库-->
<property name="hibernate.connection.url">jdbc:mysql:///student</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">liyong</property>
<!-- 下面指定方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 下面指定是否让hibernate产生ddl语句 DDL:数据定义语言-->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/liyong/domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
这里环境搭建完成
第二步:编写bean User.java 普通的java bean
public class User {
private int id;
private String name;
private Date birthday;
public User(){}
public User(String name,Date birthday){
this.name=name;
this.birthday=birthday;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
第三步:编写这个类的对象关系映射文件User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.liyong.domain">
<class name="User">
<!-- 生成主键 以natvie -->
<id name="id">
<generator class="native" />
</id>
<property name="name" unique="true"/>
<property name="birthday" />
</class>
</hibernate-mapping>
完成这个配置过后到hibernate.cfg.xml中指明这个关系映射,因为User.hbm.xml默认是不会被加载 所有在hibernate.cfg.xml中添加如下映射 当hibernate.cfg.xml被加载的时候去加载 对象关系映射文件
<mapping resource="com/liyong/domain/User.hbm.xml"/>
第四步:编写单元测试
@Test
public void save()
{
Configuration cfg=new Configuration();
cfg.configure();
// cfg.setProperties(properties)
//
SessionFactory factory=cfg.buildSessionFactory();
Session sessin=factory.openSession();
Transaction ts=sessin.beginTransaction();
User user=new User("李勇",new Date());
sessin.save(user);
ts.commit();
sessin.close();
factory.close();
}
【
下载地址http://www.hibernate.org,本教程使用3.2.5。
将下载目录/hibernate3.jar和/lib下的hibernate运行时必须的包加入classpath中:
antlr.jar,cglib.jar,asm.jar,commons-collections.jar,commons-logging.jar,jta.jar,dom4j.jar
配置文件hibernate.cfg.xml和hibernate.properties,XML和properties两种,这两个文件的作用一样,提供一个即可,推荐XML格式,下载目录/etc下是示例配置文件。
可以在配置文件指定:
数据库的URL、用户名、密码、JDBC驱动类、方言等。
启动时Hibernate会在CLASSPATH里找这个配置文件。
映射文件(hbm.xml,对象模型和关系模型的映射)。在/eg目录下有完整的hibernate示例。
Domain Object限制
1.默认的构造方法(必须的)。
2有无意义的标示符id(主键)(可选)
3非final的,对懒加载有影响(可选)
Domain Java Object(User)
public class User {
private int id;
private String name;
private Date birthDay;
//getter setter…
}
类映射文件
类名.hbm.xml
<?xml version="1.0"?>
<hibernate-mapping package=“cn.itcast.domain">
<class name="User" table="user">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="birthday”/>
</class>
</hibernate-mapping>
Java代码:
1.初始化代码(只做一次)
Configuration cfg = new Configuration();
cfg.configure(“config.cfg.xml”);
也可以通过cfg.setProperty设置属性。
SessionFactory sessionFactory = cfg.buildSessionFactory();
2.模板代码
Session session = null;Transaction tx = null;
try{
session = sessionFactory.openSession();
tx = session.beginTransaction();
//…你的代码save,delete,update,get…
tx.commit();
}catch(Exception e){
if(tx !=null)tx.rollback();throw e;
}finally{
if(session != null)session.close();
}
】
第一搭建环境:
<1、导入hibernate相关*.jar包和数据库驱动
<2、配置hibernate配置文件hibernate.cfg.xml模版可从hibernate例子得到
<!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>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- jdbc:mysql:///test 以下表示localhost 3306 test:数据库-->
<property name="hibernate.connection.url">jdbc:mysql:///student</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">liyong</property>
<!-- 下面指定方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 下面指定是否让hibernate产生ddl语句 DDL:数据定义语言-->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/liyong/domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
这里环境搭建完成
第二步:编写bean User.java 普通的java bean
public class User {
private int id;
private String name;
private Date birthday;
public User(){}
public User(String name,Date birthday){
this.name=name;
this.birthday=birthday;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
第三步:编写这个类的对象关系映射文件User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.liyong.domain">
<class name="User">
<!-- 生成主键 以natvie -->
<id name="id">
<generator class="native" />
</id>
<property name="name" unique="true"/>
<property name="birthday" />
</class>
</hibernate-mapping>
完成这个配置过后到hibernate.cfg.xml中指明这个关系映射,因为User.hbm.xml默认是不会被加载 所有在hibernate.cfg.xml中添加如下映射 当hibernate.cfg.xml被加载的时候去加载 对象关系映射文件
<mapping resource="com/liyong/domain/User.hbm.xml"/>
第四步:编写单元测试
@Test
public void save()
{
Configuration cfg=new Configuration();
cfg.configure();
// cfg.setProperties(properties)
//
SessionFactory factory=cfg.buildSessionFactory();
Session sessin=factory.openSession();
Transaction ts=sessin.beginTransaction();
User user=new User("李勇",new Date());
sessin.save(user);
ts.commit();
sessin.close();
factory.close();
}
- Hibernate.zip (9.8 KB)
- 下载次数: 0
发表评论
-
Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
2016-06-21 13:54 1120Hibernate的对象有3种状 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
其他问题
2012-06-01 08:53 908知识点: 【 hibernate.cfg.xml和hbm.x ... -
事务
2012-06-01 08:53 861知识点: 【 JDBCTransaction 单个数据库 ... -
缓存
2012-05-21 13:44 1481知识点 : 【 缓存的 ... -
懒加载
2012-05-21 13:42 1298知识点: 【 通过asm和cglib二个包实现;Domain ... -
hibernate继承映射
2012-05-21 13:37 901知识点: 【 第一种: 一个类继承体系一张表(subclas ... -
hibernate多对多关联映射
2012-05-21 10:29 1000知识点: 【 多对多(teacher - student) 在 ... -
Hibernate中使用的集合类型-集合映射-级联操作-控制翻转
2012-05-21 10:16 1628知识点: 【 集合映射( ... -
hibernate一对一关联映射
2012-05-20 13:10 962知识点: 【 第一种: 一对一(Person - IdCard ... -
hibernate多对一关联映射
2012-05-19 22:52 1058知识点: 【 多对一(Employee - Departme ... -
hql的命名参数与Query接口的分页查询
2012-05-14 20:30 1318static void query() { Sessio ... -
实体类或属性名与数据库关键字冲突问题
2012-05-14 20:12 1609表名于数据库中关键字冲突: <1、通过<cla ... -
JPA中bean的四种状态和hibernate中的bean三种状态
2012-05-14 17:11 2717//JPA中实体的四种状态 :新建、托管、游离、删除 当new ... -
get() load() persist() 等方法的区别
2012-05-14 16:36 1182Session的几个主要方法 1.save,persist保 ...
相关推荐
**标题:“第一次搭建Hibernate环境”** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使开发者能够用Java对象来处理数据库事务。搭建Hibernate环境是开始使用该框架的第...
环境搭建是使用Hibernate的第一步,主要涉及以下步骤: 1. **JDK安装**:确保已安装Java Development Kit(JDK)且版本兼容Hibernate。通常,Java 8或更高版本是推荐的。 2. **设置JDBC驱动**:根据所使用的数据库...
搭建一个Hibernate项目环境是开发基于Java的ORM(对象关系映射)应用的第一步。下面将详细阐述这个过程中的四个关键步骤: 1. **加载Hibernate类库和依赖库** 在开始构建Hibernate项目时,首先需要引入必要的库。这...
在这个环境中,我们将探讨如何搭建一个基本的Hibernate项目,并了解其核心概念。 ### 1. 搭建环境 #### 1.1 添加依赖 首先,我们需要在项目中引入Hibernate的库。如果你使用的是Maven,可以在`pom.xml`文件中添加...
SSH框架,全称为Struts+Spring+Hibernate,是一种常见的Java Web开发框架,它结合了Struts的MVC设计模式、Spring的IoC容器和事务管理以及Hibernate的对象关系映射技术,构建出高效、灵活的Web应用程序。以下是关于...
**hibernate入门小程序** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务,使得开发人员可以使用面向对象的方式来操作数据库,而无需过多地关注SQL语句的编写。在...
在搭建Hibernate环境时,我们需要下载Hibernate的库文件,这些文件通常包含在.jar包中。描述中提到的"里面有jar包什么的"指的是你需要将这些库文件添加到项目的类路径中。主要的Hibernate库包括`hibernate-core.jar`...
Python 的安装是 Python 环境搭建的第一步,下载 Python 的安装包,选择安装路径和安装产品,安装完成后,需要设置环境变量,打开 cmd,输入 python,得到以下提示效果,即为安装成功。 setuptools 的安装 ...
本文将详细介绍如何在Eclipse环境下构建第一个Hibernate应用程序,包括所需软件的准备、开发平台的搭建以及基本的开发流程。 #### 所需软件及资源 - **JDK 1.5**:Java开发工具包,可从Sun公司官网下载。 - **...
本教程将介绍如何创建一个简单的Hibernate应用程序,从零开始搭建环境,配置项目,直至运行第一个Hello World程序。 1. **环境准备** 在开始开发Hibernate程序之前,我们需要安装以下软件和库: - Java ...
为了成功地搭建一个Hibernate环境,我们需要确保包含所有必要的库文件,也就是jar包。这些jar包提供了Hibernate的核心功能以及其依赖的第三方库。下面将详细解释这些jar包的作用以及它们在Hibernate框架中的角色。 ...
Hibernate 提供了第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),可以有效减少对数据库的访问,提高性能。 通过以上步骤,我们可以成功地搭建一个使用Hibernate的Java应用,实现基本的增删改查...
在探讨Hibernate技术内幕之前,本章介绍了如何准备Hibernate源代码阅读环境以及进行Hibernate的基本配置,这包括了源代码阅读环境的搭建以及对Hibernate项目进行基础设置和实体映射配置,为后续章节的深入探讨打下...
以上就是关于“Hibernate4+SpringMVC+Junit4+log4j环境搭建”的详细说明。在实际开发中,你还需要根据项目具体需求选择合适的数据库驱动包,以及可能用到的其他第三方库,如Jackson(用于JSON序列化和反序列化)。...
1. Hibernate环境搭建 要开始使用Hibernate,首先需要下载Hibernate的开发包(如3.6.10版本)以及相关的依赖库,包括Slf4j和Log4j。将必要的jar包添加到项目构建路径中,包括Hibernate核心库、数据库驱动、Slf4j和...
6. **第一级缓存和第二级缓存**:Hibernate内置了第一级缓存,每个Session都有自己的缓存;第二级缓存是可选的,可以跨Session共享,通常由缓存提供商如Ehcache提供。 7. **事务管理**:Hibernate支持JTA(Java ...
Hibernate提供了第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),可以提高性能,减少对数据库的访问。 **总结** 这个简单的Hibernate例程涵盖了从环境配置、实体类定义到持久化操作、事务管理和...
它是Hibernate启动时加载的第一个配置文件。 2. **实体类的XML映射文件**: 对应数据库表的Java类,每个类通常有一个对应的`.hbm.xml`文件,用于描述类与表之间的映射关系。 样例代码通常包括以下部分: 1. **...