搭建环境:
Eclipse3.4
Build Path Configeration:
新建
hibernate
库,并加进外部类包:
基本的有
hibernate3
以及
hibernate-distribution-3.3.2.GA\lib\required
目录下的全部类包
还有
hibernate-annotations
,
hibernate-commons-annotations
,
ejb3-persistence
日志系统的:
slf4j-nop-1.5.11
和
slf4j-api-1.5.11
测试系统的:
junit-4.8.2
Hibernate
可以通过
XML
解析或
annotations
标注对实体对象进行映射,实现用面向对象的方式操作数据库。
Hibernate
基本配置:
Hibernate.cfg.xml
文件:(注意该文件最好不要私自改名,且要放在项目的根目录下)
最主要的声明部分:
<
hibernate-configuration
>
<
session-factory
>
<!-- Database connection settings -->
<
property
name
=
"connection.driver_class"
>
com.microsoft.sqlserver.jdbc.SQLServerDriver
</
property
>
<
property
name
=
"connection.url"
>
jdbc:sqlserver://localhost
:1433;databaseName=Test
</
property
>
<
property
name
=
"connection.username"
>
username
</
property
>
<
property
name
=
"connection.password"
>
*************
</
property
>
<!-- JDBC connection pool (use the built-in) -->
<
property
name
=
"connection.pool_size"
>
1
</
property
>
<!-- SQL dialect -->
<
property
name
=
"dialect"
>
org.hibernate.dialect.SQLServerDialect
</
property
>
<!-- Enable Hibernate's automatic session context management -->
<
property
name
=
"current_session_context_class"
>
Thread
</
property
>
<!-- Disable the second-level cache
-->
<
property
name
=
"cache.provider_class"
>
org.hibernate.cache.NoCacheProvider
</
property
>
<!-- Echo all executed SQL to stdout
-->
<
property
name
=
"show_sql"
>
true
</
property
>
<!-- Drop and re-create the database schema on startup -->
<
property
name
=
"hbm2ddl.auto"
>
update
</
property
>
<!—-format the sql-->
<property name="format_sql">true</property>
<!--
实体映射对象
-->
<
mapping
resource
=
"com/Test/Demo.hbm.xml"
/>
<
mapping
class
=
"com.Test.Demo"
/>
<!--
以上声明为
XML
映射方式,下面为
annotations
映射方式的声明
-->
<
mapping
class
=
"com.Test.T"
/>
</
session-factory
>
</
hibernate-configuration
>
XML
解析方式:
对象映射文件
Demo.hbm.xml
,命名规则一般把被映射的类的类名作为最顶级的名再加上后缀
.hbm.xml
,
并与被映射的类放在同一个包里
。
<
hibernate-mapping
>
<
class
name
=
"com.Test.Demo"
table
=
"[dbo].[T]"
>
<
id
name
=
"id"
column
=
"id"
type
=
"java.lang.Integer"
>
<
generator
class
=
"native"
/>
</
id
>
<
property
name
=
"name"
column
=
"name"
/>
<
property
name
=
"no"
column
=
"no"
/>
</
class
>
</
hibernate-mapping
>
/*
被映射的对象类代码与类
T
一样,见下
*/
Annotations
注析方式:
package com.Test;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="_T")
/*@Table
要选
javax
那个,如果
_T
不存在,则自动生成
*/
public class T {
private int id;
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name="_name")
/*
指定表的列明,如果表中的列明不是
_name,
则跟新
*/
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
private String Name;
private int no;
}
/*
以上为被映射的对象类,之后还要在
hibernate
文件中添加映射声明,详细见上
*/
Junit
测试
使用
Junit
进行对象映射的测试,同时验证数据库里的数据
package
com.TestHibernate;
//
测试包命名规则,一般为
Test+
被测试的项目名
import
org.hibernate.Session;
import
org.hibernate.SessionFactory;
import
org.hibernate.cfg.AnnotationConfiguration;
import
org.junit.After;
import
org.junit.Before;
import
org.junit.Test;
import
static
org.junit.Assert.*;
import
static
org.hamcrest.CoreMatchers.*;
//assertThat
和
is
断言要用到的外部类包
import
com.Test.T;
import
junit.framework.TestCase;
public
class
TestT
extends
TestCase {
Session
session
;
SessionFactory
sf
;
T
t
;
@Before
public
void
setUp()
throws
Exception {
AnnotationConfiguration cfg =
new
AnnotationConfiguration();
sf
= cfg.configure().buildSessionFactory();
session
=
sf
.openSession();
session
.beginTransaction();
t
=
new
T();
/*
单元测试进行前的程序环境初始化
*/
}
@After
public
void
tearDown()
throws
Exception {
session
.close();
sf
.close();
/*
测试完成后,关闭所占的资源
*/
}
@Test
public
void
testT() {
int
x= 3;
String y =
"x"
;
int
z = 11;
t
.setId(x);
t
.setName(y);
t
.setNo(z);
session
.save(
t
);
session
.getTransaction().commit();
/*
结果测试
*/
assertThat
(x,is
(
t
.getId()));
assertThat
(y,is
(
t
.getName()));
assertThat
(z,is
(
t
.getNo()));
}
}
分享到:
相关推荐
hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-4.1.12.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar ...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
而Eclipse作为主流的Java集成开发环境,其丰富的插件生态使得开发效率得以提升。"hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip" 是一个针对Eclipse的Hibernate工具集更新包,包含了对4.1.1....
hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码
《深入理解Hibernate配置与映射:hibernate-configuration-3.0.dtd与hibernate-mapping-3.0.dtd解析》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而`hibernate-...
总结,Hibernate Tools 4.1.1.Final版本为开发者提供了一站式的Hibernate开发环境,通过其丰富的功能,可以显著提高ORM开发的效率,降低项目维护难度。对于初学者和经验丰富的开发者来说,都是不可多得的工具。在...
在本文中,我们将深入探讨`hibernate-commons-annotations-5.0.1.Final.jar`的源码,了解其内部结构和主要功能。 一、元数据注解 HCA的核心在于提供了一系列的注解,如`@Entity`、`@Table`、`@Column`、`@Id`等,...
hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码
该整合包含hibernatetools-Update-4.1.2.Final_2014-03-18_15-46-19-B706、hibernate-release-5.4.1.Final、sqljdbc_6.4.0.0_chs.tar
hibernate-jpa-2.0-api-1.0.1.Final.jar
Hibernate稳定版(hibernate-release-5.3.23.Final.zip),Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
这篇博客"Hibernate学习一--注解方式自动建表"主要探讨了如何使用Hibernate的注解来实现数据库表的自动化创建。 在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被...
2. **库文件**:包含jar包,如hibernate-core.jar、hibernate-entitymanager.jar等,这些是我们在项目中引入Hibernate时需要用到的依赖库。 3. **文档**:通常包括用户指南、API文档、开发者文档等,这些文档提供了...
hibernate-jpa-2.1-api-1.0.0.Final.jar官方下载,请放心使用
<artifactId>hibernate-core <version>5.4.32.Final ``` 4. **配置Hibernate**:创建一个名为`hibernate.cfg.xml`的配置文件,指定数据库连接信息,如数据库URL、用户名、密码、驱动类等。例如: ```xml ...
Hibernate稳定版(hibernate-release-5.6.2.Final.zip),Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
java.lang.NoClassDefFoundError: javax/persistence/spi/ProviderUtil 或javax/persistence/entitylistener问题
很多人为了配置jpa找这个动态产生字节码的jar文件,hibernate-distribution-3.3.1.GA包太大,而hibernate-distribution-3.3.2.GA的jar没有这个jar文件,希望对大家有用
列如:hibernate-core-5.1.0.Final.jar hibernate-ehcache-5.1.0.Final.jar hibernate-entitymanager-5.1.0.Final.jar hibernate-envers-5.1.0.Final.jar hibernate-c3p0-5.1.0.Final.jar hibernate-jpa-2.1-api-...