今天学习了Hibernate JPA ,也就是元注解吧,现在总结一下:
hibernate.cfg.xml 的配置:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<!-- 显示实际操作数据库时的SQL -->
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!--<property name="dialect">org.hibernate.dialect.OracleDialect</property>-->
<property name="connection.url">jdbc:oracle:thin:@192.9.206.168:1521:orcl</property>
<property name="connection.username">omsystem</property>
<property name="connection.password">tj123456</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="myeclipse.connection.profile">orcl</property>
<!--<mapping resource="Struts2/Dao/TTestUser.hbm.xml"/>-->
<!-- 实体类 -->
<mapping class="Struts2.Dao.d.TTestUser"/>
</session-factory>
</hibernate-configuration>
使用元注解就省去了TTestUser.hbm.xml这种文件的配置了,
只需要在JavaBean中加注解就可以了:
TTestUser.java 这个文件可以通过MyEclipse自动生成:
package Struts2.Dao.d;
import javax.persistence.Column;
/**
* TTestUser entity. @author MyEclipse Persistence Tools
*/
@SuppressWarnings("serial")
@Entity
@Table(name = "T_TEST_USER")
public class TTestUser implements java.io.Serializable {
// Fields
private String id;
private String name;
private String pwd;
private String sex;
// Constructors
/** default constructor */
public TTestUser() {
}
/** minimal constructor */
public TTestUser(String id) {
this.id = id;
}
/** full constructor */
public TTestUser(String id, String name, String pwd, String sex) {
this.id = id;
this.name = name;
this.pwd = pwd;
this.sex = sex;
}
// Property accessors
@Id
@Column(name = "ID", unique = true, nullable = false, length = 20)
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
@Column(name = "NAME", length = 30)
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
@Column(name = "PWD", length = 30)
public String getPwd() {
return this.pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Column(name = "SEX", length = 20)
public String getSex() {
return this.sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
帮助类HibernateDao.java 文件:
package Struts2.Util;
import org.hibernate.HibernateException;
public class HibernateDao {
protected SessionFactory sessionFactory;// 会话工厂,用于创建会话
protected Session session;// hibernate会话
protected Transaction transaction; // hiberante事务
private static AnnotationConfiguration configuration = new AnnotationConfiguration();
public HibernateDao() throws HibernateException {
this.initHibernate();
}
// 帮助方法
protected void initHibernate() throws HibernateException {
// 装载配置,构造SessionFactory对象
//sessionFactory = new Configuration().configure().buildSessionFactory();
sessionFactory = configuration.configure().buildSessionFactory();
}
/**
*开始一个hibernate事务
*/
protected void beginTransaction() throws HibernateException {
session = sessionFactory.openSession();
transaction = session.beginTransaction();
}
/**
*结束一个hibernate事务。
*/
protected void endTransaction(boolean commit) throws HibernateException {
if (commit) {
transaction.commit();
} else {
// 如果是只读的操作,不需要commit这个事务。
transaction.rollback();
}
session.close();
}
}
这个文件主要注意的是 装载配置,构造SessionFactory对象//sessionFactory = new Configuration().configure().buildSessionFactory();
需要修改为
private static AnnotationConfiguration configuration = new AnnotationConfiguration();
sessionFactory = configuration.configure().buildSessionFactory();
最后开始测试吧:
package Struts2.Action;
import Struts2.Dao.d.TTestUser;
import Struts2.Server.TestUserService;
public class TestUserAction {
public static void main(String[] args){
TestUserService tu = new TestUserService();
TTestUser tuser= new TTestUser();
tuser.setId("3");
tuser.setName("刘利明3");
tuser.setPwd("1233");
tuser.setSex("男3");
tu.addUser(tuser);
}
}
到这里就结束了,要导入AnnotationConfiguration 的jar包。
分享到:
相关推荐
- **数据访问对象(DAO)**:创建DAO层,使用Hibernate JPA提供的API进行数据操作,如`EntityManager`和`EntityManagerFactory`。 - **事务管理**:使用`@Transactional`注解进行事务控制,确保数据的一致性。 - *...
Hibernate JPA作为一种成熟且广泛使用的ORM解决方案,不仅简化了Java应用程序中对象与关系型数据库之间的交互,还为开发者提供了强大的工具和灵活的配置选项。无论是初学者还是经验丰富的开发者,都能从中受益。了解...
在Java世界中,Hibernate和Java Persistence API (JPA) 是两个强大的对象关系映射(ORM)框架,它们简化了数据库操作,使得开发者可以使用面向对象的方式处理数据。本篇文章将深入探讨Hibernate JPA入门案例所需的...
在Java世界中,Hibernate JPA(Java Persistence API)是一种广泛使用的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库。本压缩包包含的文件是进行Hibernate JPA开发所需的核心库,让我们...
在项目中,Spring与Hibernate或JPA的结合使用,使得数据操作变得简单,如保存用户数据到数据库。 Maven是项目管理和构建工具,它管理项目的依赖关系,自动化构建过程,包括编译、测试、打包和部署。在"ajie-wechat...
赠送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依赖信息文件:...
在IT行业中,构建一个完整的Web应用常常涉及到多个技术的整合,本示例中提到了"HibernateJPA+Struts2.0+MariaDB"的组合,这是一个经典的Java Web开发架构,用于实现用户登录功能。接下来,我们将深入探讨这些技术...
本篇文章将深入探讨Hibernate JPA的核心概念、主要功能及使用方法。 一、Hibernate JPA基础 1. **实体(Entity)**:在Hibernate JPA中,实体是数据库表的映射,通过@Entity注解标识,每个实体类对应数据库中的一...
【描述】在IT领域,Hibernate是一个广泛使用的对象关系映射(ORM)框架,而Java Persistence API (JPA)是Java平台上的一个标准,用于管理和持久化Java应用程序中的对象。这个实例是关于如何在实际项目中结合使用...
赠送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依赖信息文件:...
使用Hibernate JPA,开发者可以利用注解驱动的编程模型,减少代码量,同时通过ORM机制,使得业务逻辑和数据访问层更加分离,提高了代码的可读性和可维护性。然而,需要注意的是,虽然ORM工具带来了便利,但也可能...
hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码
Hibernate JPA提供了JPA规范的全部功能,并且在JPA的基础上扩展了一些特性,如更强大的 Criteria 查询、HQL(Hibernate Query Language)等。Hibernate JPA因其灵活性和广泛社区支持而受到欢迎,尤其是在处理复杂...
在Java开发中,Hibernate是一个广泛使用的对象关系映射(ORM)框架,而Java Persistence API (JPA) 是Java平台上的标准ORM规范。两者结合,可以让开发者轻松地将数据库表与Java类进行绑定,从而实现数据的CRUD操作。...
hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码
`hibernate-jpa-2.1-api-1.0.0.final.jar`是Hibernate对JPA 2.1规范的实现库,它使得开发者能够使用Hibernate的高效功能同时遵循JPA规范。 **1. Hibernate与JPA的关系** Hibernate最初作为一个独立的ORM框架,后来...
在JavaSE环境中使用Hibernate JPA(Java Persistence API)进行数据持久化操作,需要引入一系列的jar包来构建...注意,虽然JavaSE环境下的JPA使用相对简单,但在没有容器支持的情况下,需要手动管理事务和依赖注入。
接下来,为了使用Hibernate作为JPA提供商,我们需要在项目的pom.xml文件中添加Hibernate和Spring Data JPA的依赖。Spring Data JPA是Spring的一个模块,它提供了对JPA的高级抽象,使得我们可以很容易地实现CRUD操作...
通过这个实例,你可以学习到如何将SpringMVC、Hibernate JPA和Spring Data JPA结合使用,构建一个完整的Web应用,包括数据库的访问、业务逻辑的处理以及Web接口的实现。这样的组合既提供了高效的ORM支持,又利用了...