`
- 浏览:
215839 次
- 性别:
- 来自:
北京
-
基于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.class, 1);
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.class, 1);
session.delete(person);
}
}
经测试,增删改查全部正常.
这样的确很方便了.
源码可以在我的网盘下载.
点此下载
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
- **配置**: 开发者需要在pom.xml或build.gradle文件中添加`hibernate-jpa-2.1-api-1.0.0.final.jar`依赖,然后在应用配置中指定Hibernate作为JPA提供商。 - **实体类**: 使用@Entity注解标记Java类为JPA实体,并...
**基于JPA的CRUD操作详解** ...这个“基于JPA的CRUD例子”就是对这一特性的简单演示,展示了如何利用JPA进行基本的数据管理。通过深入理解和实践,开发者可以更好地利用JPA来构建高效、可维护的Java应用程序。
是Hibernate组织提供的一种基于Java平台的企业级对象关系映射(ORM)解决方案,它实现了Java Persistence API(JPA),使得Java开发者能够方便地在关系数据库和面向对象的Java应用程序之间进行数据交互。Hibernate ...
《Spring Boot 2.4 RESTful CRUD 实战详解》 在现代Web开发中,Spring Boot以其简洁、高效的特点,已经成为主流框架之一。本教程聚焦于Spring Boot 2.4版本,针对初学者提供一个完整的RESTful CRUD(创建、读取、...
Hibernate作为JPA的一个实现,更是广泛应用于实际项目中。这篇博客将探讨如何配置Spring、JPA和Hibernate进行集成开发。 首先,我们需要在项目中引入相关的依赖。对于Spring项目,通常使用Maven或Gradle作为构建...
总的来说,这个压缩包是Hibernate的一个完整发行版,包含所有必要的组件,适合于基于SSH框架的Java应用程序开发。对于理解和使用Hibernate以及JPA进行数据库操作的开发者来说,这是一个重要的资源。
Hibernate-JPA是Java开发中常用的数据持久化框架,它基于JPA(Java Persistence API)规范,提供了更为丰富的功能和更简单的API,使得开发者能够更高效地操作数据库。本篇文章将从以下几个方面详细介绍Hibernate-JPA...
《深入理解Hibernate Core 5.0.11.Final.jar:源码剖析与应用实践》 Hibernate,作为Java领域中最著名的对象关系映射(ORM)框架之一,极大地简化了数据库操作,使得开发者能够以面向对象的方式处理数据。本文将...
- **Session**:是操作数据库的入口,提供了一种基于对象的操作方式,支持CRUD操作,并具有事务管理和二级缓存功能。 4. **映射机制**: - **XML 映射文件**:如hibernate.hbm.xml,定义了Java类与数据库表之间的...
总之,结合JPA和Hibernate Envers,我们可以轻松地实现在Java应用程序中对数据CRUD操作的历史审计日志功能。这不仅有助于追踪数据变化,还能提高系统的透明度和可追溯性,对于企业级应用来说是非常有价值的。在实际...
源码分析的过程中,我们可以看到Hibernate如何将JPA规范转化为具体的实现,例如,`EntityManager`接口及其实现类如何处理CRUD操作,`PersistenceUnitUtil`类如何处理元数据的获取,以及`Query`接口的实现如何解析并...
本资源包“hibernate-release-4.2.13.Final.tgz”提供了一个完整的Hibernate 4.2.13.Final版本,包括必要的jar包、经典示例以及详尽的参考文档,是学习和应用Hibernate不可或缺的资料。 一、核心jar包详解 在...
而Hibernate Annotations是Hibernate框架的一个重要组成部分,它引入了基于注解的元数据,使得代码更加简洁、易读。本篇将详细探讨Hibernate Annotations 3.4.0.GA版本中的核心概念、特性以及实际应用。 一、...
Middlegen是一款基于Ant的任务,能够从数据库模式生成Hibernate的元数据XML文件,这些文件包含了关于表结构、字段和关系的信息,用于驱动Hibernate自动创建Java对象和数据库表之间的映射。通过Middlegen,开发者可以...
讲师深入讲解了如何使用5.0.7.Final版本进行实际项目开发,包括实体类设计、配置文件设置、CRUD操作、关联映射、查询优化等关键知识点,旨在帮助学员快速掌握Hibernate的精髓。 5. 学习资源 包含的"0.txt"可能是一...
10. **JPA兼容性**:虽然Hibernate主要以其自己的API闻名,但它也支持Java Persistence API (JPA),这使得那些熟悉JPA标准的开发者也能轻松上手。 在实际项目中,开发者需要根据需求选择合适的配置,比如缓存策略、...
《Hibernate 4.2.2.Final:深度解析与应用》 Hibernate,作为一个开源的对象关系映射(ORM)框架,是Java开发中的重要工具,它极大地简化了数据库操作,使得开发者能够以面向对象的方式处理数据。本文将深入探讨...
通过学习和熟练掌握JPA与Hibernate,开发者可以更高效地处理Java应用程序中的数据库操作,实现业务逻辑与数据存储的解耦,提高软件的可维护性和扩展性。在实际项目中,合理利用这两个框架的特性,能显著提升开发效率...
这个集合可能包括hibernate3.jar、hibernate-annotations.jar、hibernate-commons-annotations.jar、hibernate-jpa-2.0-api.jar等,以及数据库驱动相关的jar文件。通过这些jar文件,开发者可以在项目中集成和使用...
-- 更多实体类 --> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/yourdb"/> <property name="javax.persistence.jdbc.user" value="username"/> ...