`

基于JPA的Hibernate->CRUD(简单应用)(原创)

阅读更多
数据库用的是mysql5.0;
脚本如下:
use test;
create table person
(
 id 
int AUTO_INCREMENT primary key,
 username 
varchar(20),
 password 
varchar(20)
);

insert into person values(null,'ts','ts');
实体类用Annotation映射,代替hbm.
package com.vo;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@SuppressWarnings(
"unchecked""serial" })
@Entity 
//标识是一个实体
@Table(name="person"//映射表
public class Person implements Serializable
{
    
//主键映射
    @Id
    
//主键自增
    @GeneratedValue(strategy=GenerationType.AUTO)
    
private Integer id;
    
//@Column(name="username"),对于列,可映射也可以不映射.注意保持列名和属性名一致就行 
    private String username;
    
private String password;

    
public Integer getId()
    
{
        
return id;
    }


    
public void setId(Integer id)
    
{
        
this.id = id;
    }


    
public String getUsername()
    
{
        
return username;
    }


    
public void setUsername(String username)
    
{
        
this.username = username;
    }


    
public String getPassword()
    
{
        
return password;
    }


    
public void setPassword(String password)
    
{
        
this.password = password;
    }

}


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"
>
<hibernate-configuration>
    
<session-factory>
        
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        
<property name="connection.url">jdbc:mysql://localhost:3306/test</property>
        
<property name="connection.username">root</property>
        
<property name="connection.password">root</property>
        
<property name="show_sql">true</property>
        
<!-- 实体类映射 -->
        
<mapping class="com.vo.Person"/>
    
</session-factory>
</hibernate-configuration>    
测试类:
package com.test;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import com.vo.Person;

public class PersonTest
{
    
private Session session;
    
private Transaction tx;

    @Before
    
public void before()
    
{
        session 
= new AnnotationConfiguration().configure()
                .buildSessionFactory().openSession();
        tx 
= session.getTransaction();
    }


    @After
    
public void after()
    
{
        session.close();
    }


    @Test
    
public void testSave()
    
{
        tx.begin();
        Person person 
= new Person();
        person.setUsername(
"zdw");
        person.setPassword(
"admin");
        session.save(person);
        tx.commit();
    }

    
    @Test
    
public void testUpdate()
    
{
        tx.begin();
        Person person 
= (Person) session.load(Person.class1);
        person.setPassword(
"test");
        session.update(person);
        tx.commit();
    }

    @SuppressWarnings(
"unchecked")
    @Test
    
public void testQueryAll()
    
{
        List
<Person> persons = session.createCriteria(Person.class).list();
        assertNotNull(persons);
    }

    
    @Test
    
public void testDelete()
    
{
        Person person 
= (Person) session.load(Person.class1);
        session.delete(person);
    }

}

经测试,增删改查全部正常.
这样的确很方便了.
源码可以在我的网盘下载. 点此下载

々上善若水々 2007-11-29 09:08 发表评论
分享到:
评论

相关推荐

    hibernate-jpa-2.1-api-1.0.0.final.jar.zip

    - **配置**: 开发者需要在pom.xml或build.gradle文件中添加`hibernate-jpa-2.1-api-1.0.0.final.jar`依赖,然后在应用配置中指定Hibernate作为JPA提供商。 - **实体类**: 使用@Entity注解标记Java类为JPA实体,并...

    基于JPA的CRUD例子

    **基于JPA的CRUD操作详解** ...这个“基于JPA的CRUD例子”就是对这一特性的简单演示,展示了如何利用JPA进行基本的数据管理。通过深入理解和实践,开发者可以更好地利用JPA来构建高效、可维护的Java应用程序。

    hibernate-jpa.jar

    是Hibernate组织提供的一种基于Java平台的企业级对象关系映射(ORM)解决方案,它实现了Java Persistence API(JPA),使得Java开发者能够方便地在关系数据库和面向对象的Java应用程序之间进行数据交互。Hibernate ...

    spring-boot-04-web-restfulcrud

    《Spring Boot 2.4 RESTful CRUD 实战详解》 在现代Web开发中,Spring Boot以其简洁、高效的特点,已经成为主流框架之一。本教程聚焦于Spring Boot 2.4版本,针对初学者提供一个完整的RESTful CRUD(创建、读取、...

    Spring + JPA + Hibernate配置

    Hibernate作为JPA的一个实现,更是广泛应用于实际项目中。这篇博客将探讨如何配置Spring、JPA和Hibernate进行集成开发。 首先,我们需要在项目中引入相关的依赖。对于Spring项目,通常使用Maven或Gradle作为构建...

    hibernate-release-4.3.1.Final.zip

    总的来说,这个压缩包是Hibernate的一个完整发行版,包含所有必要的组件,适合于基于SSH框架的Java应用程序开发。对于理解和使用Hibernate以及JPA进行数据库操作的开发者来说,这是一个重要的资源。

    hibernate-jpa学习

    Hibernate-JPA是Java开发中常用的数据持久化框架,它基于JPA(Java Persistence API)规范,提供了更为丰富的功能和更简单的API,使得开发者能够更高效地操作数据库。本篇文章将从以下几个方面详细介绍Hibernate-JPA...

    hibernate-core-5.0.11.Final.jar

    《深入理解Hibernate Core 5.0.11.Final.jar:源码剖析与应用实践》 Hibernate,作为Java领域中最著名的对象关系映射(ORM)框架之一,极大地简化了数据库操作,使得开发者能够以面向对象的方式处理数据。本文将...

    hibernate-release-4.3.10.Final.zip

    - **Session**:是操作数据库的入口,提供了一种基于对象的操作方式,支持CRUD操作,并具有事务管理和二级缓存功能。 4. **映射机制**: - **XML 映射文件**:如hibernate.hbm.xml,定义了Java类与数据库表之间的...

    JPA + Hibernate 3 CRUD操作历史审计日志的解决方案

    总之,结合JPA和Hibernate Envers,我们可以轻松地实现在Java应用程序中对数据CRUD操作的历史审计日志功能。这不仅有助于追踪数据变化,还能提高系统的透明度和可追溯性,对于企业级应用来说是非常有价值的。在实际...

    hibernate-jpa-2.1-api-1.0.0.draft-6-sources

    源码分析的过程中,我们可以看到Hibernate如何将JPA规范转化为具体的实现,例如,`EntityManager`接口及其实现类如何处理CRUD操作,`PersistenceUnitUtil`类如何处理元数据的获取,以及`Query`接口的实现如何解析并...

    最新 hibernate-release-4.2.13.Final.tgz

    本资源包“hibernate-release-4.2.13.Final.tgz”提供了一个完整的Hibernate 4.2.13.Final版本,包括必要的jar包、经典示例以及详尽的参考文档,是学习和应用Hibernate不可或缺的资料。 一、核心jar包详解 在...

    hibernate-annotations-3.4.0.GA

    而Hibernate Annotations是Hibernate框架的一个重要组成部分,它引入了基于注解的元数据,使得代码更加简洁、易读。本篇将详细探讨Hibernate Annotations 3.4.0.GA版本中的核心概念、特性以及实际应用。 一、...

    Middlegen-Hibernate-r5

    Middlegen是一款基于Ant的任务,能够从数据库模式生成Hibernate的元数据XML文件,这些文件包含了关于表结构、字段和关系的信息,用于驱动Hibernate自动创建Java对象和数据库表之间的映射。通过Middlegen,开发者可以...

    hibernate-release-5.0.7.Final.zip

    讲师深入讲解了如何使用5.0.7.Final版本进行实际项目开发,包括实体类设计、配置文件设置、CRUD操作、关联映射、查询优化等关键知识点,旨在帮助学员快速掌握Hibernate的精髓。 5. 学习资源 包含的"0.txt"可能是一...

    hibernate-distribution-3.3.2.GA-dist

    10. **JPA兼容性**:虽然Hibernate主要以其自己的API闻名,但它也支持Java Persistence API (JPA),这使得那些熟悉JPA标准的开发者也能轻松上手。 在实际项目中,开发者需要根据需求选择合适的配置,比如缓存策略、...

    hibernate-release-4.2.2.Final

    《Hibernate 4.2.2.Final:深度解析与应用》 Hibernate,作为一个开源的对象关系映射(ORM)框架,是Java开发中的重要工具,它极大地简化了数据库操作,使得开发者能够以面向对象的方式处理数据。本文将深入探讨...

    JPA-Hibernate包

    通过学习和熟练掌握JPA与Hibernate,开发者可以更高效地处理Java应用程序中的数据库操作,实现业务逻辑与数据存储的解耦,提高软件的可维护性和扩展性。在实际项目中,合理利用这两个框架的特性,能显著提升开发效率...

    hibernate-3.3.2.GA-jar包集合

    这个集合可能包括hibernate3.jar、hibernate-annotations.jar、hibernate-commons-annotations.jar、hibernate-jpa-2.0-api.jar等,以及数据库驱动相关的jar文件。通过这些jar文件,开发者可以在项目中集成和使用...

    JPA环境搭建及CRUD

    -- 更多实体类 --&gt; &lt;properties&gt; &lt;property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/yourdb"/&gt; &lt;property name="javax.persistence.jdbc.user" value="username"/&gt; ...

Global site tag (gtag.js) - Google Analytics