引入 jar包
hibernate配置文件 hibernate.cfg.xml
domain对象原型 User
hbm映射文件
单一测试Demo TestDemo
中间缺少某个包可能产生的异常
框架名称 | 引用jar | 必须性 |
hibernate | antlr-2.7.6.jar | 必要 |
asm-3.1.jar | 必要 | |
cglib-2.2.jar | 必要 | |
commons-collections-3.1.jar | 必要 | |
commons-logging.jar | 必要 | |
dom4j-1.6.1.jar | 必要 | |
hibernate3.jar | 必要 | |
hibernate-entitymanager.jar | 必要 | |
hibernate-jpa-2.0-api-1.0.0.Final.jar | 必要 | |
javassist-3.12.0.GA.jar | 必要 | |
jta-1.1.jar | 必要 | |
mysql-connector-java-5.0.7-bin.jar | 必要 |
hibernate.cfg.xml
<hibernate-configuration> <session-factory> <property name="myeclipse.connection.profile">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://127.0.0.1:3306/myapplication</property> <property name="connection.username">root</property> <property name="connection.password">******</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="javax.persistence.validation.mode" >none</property> <property name="hibernate.hbm2ddl.auto">update</property> <mapping resource="com/web/wp/domain/hbm/Users.hbm.xml" /> </session-factory> </hibernate-configuration>
User
package com.web.wp.domain; import java.math.BigDecimal; import java.util.Date; /** * 用户原型 * */ public class User { private Long u_id; private String u_name; private String sex; private String message; private Date birthday; private int age; private String liking; private BigDecimal deposit; public User() { } public User(String u_name) { super(); this.u_name = u_name; } public Long getU_id() { return u_id; } public void setU_id(Long u_id) { this.u_id = u_id; } public String getU_name() { return u_name; } public void setU_name(String u_name) { this.u_name = u_name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getLiking() { return liking; } public void setLiking(String liking) { this.liking = liking; } public BigDecimal getDeposit() { return deposit; } public void setDeposit(BigDecimal deposit) { this.deposit = deposit; } }
TestDemo
package com.web.wp.hibernate; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import com.web.wp.domain.User; /** * 测试独立使用hibernate框架连接数据库,实现增删改查 * * */ public class TestDemo { /** * 获取configuration * 获取sessionfactory * 获取session * 获取Transaction * * */ @Test /**测试*/ public void test(){ Configuration cf=new Configuration().configure(); SessionFactory factory=cf.buildSessionFactory(); /* Session session=factory.getCurrentSession(); 假如没有配置当前线程 会失败?*/ Session session=factory.openSession(); User us=new User("张三"); us=find(session, 2L); us.setU_name("王五"); update(session, us); factory.close(); } /**保存*/ public void save(Session session,User us){ Transaction tx= session.beginTransaction(); try { session.save(us); tx.commit(); } catch (HibernateException e) { e.printStackTrace(); tx.rollback(); }finally{ session.close(); } } /**删除*/ public void delete(Session session,User us){ Transaction tx= session.beginTransaction(); try { session.delete(us); tx.commit(); } catch (HibernateException e) { e.printStackTrace(); tx.rollback(); }finally{ session.close(); } } /** * 查询单个 * */ public User find(Session session,Long id){ Transaction tx= session.beginTransaction(); User us=(User)session.get(User.class, id); tx.commit(); return us; } /** * 修改单个 * */ public void update(Session session,User us){ Transaction tx= session.beginTransaction(); try { session.saveOrUpdate(us); tx.commit(); } catch (HibernateException e) { e.printStackTrace(); tx.rollback(); }finally{ session.close(); } } }
肯能出现的异常
1 Caused by: java.lang.ClassNotFoundException: javax.persistence.EntityListeners 结果是 hibernate-distribution-3.6.0.Final\lib\jpa\hibernate-jpa-2.0-api-1.0.0.Final.jar这个包 2 跟valication相关的错误,先去将 <property name="javax.persistence.validation.mode" >none</property> 配置
相关推荐
这篇文章将深入探讨如何在MyEclipse环境中使用这些技术实现一个简单的数据管理应用,即增删改查(CRUD)功能。 首先,`Spring Boot`是Spring框架的简化版本,它提供了快速构建独立的、生产级别的基于Spring的应用...
在本实例中,"spring4MVC+Hibernate4实例(增删改查)"是一个基于Maven构建的Java Web项目,旨在演示如何整合Spring MVC和Hibernate框架来实现数据的CRUD(创建、读取、更新和删除)操作。Spring MVC是Spring框架的...
在本教程中,我们将深入探讨如何使用Spring Boot、JPA(Java Persistence API)以及Thymeleaf模板引擎实现一个简单的数据库操作,包括增删改查(CRUD)。Spring Boot简化了Java应用程序的开发过程,而JPA是Java平台...
在实现增删改查功能时,通常会创建一个Servlet来接收HTTP请求,然后通过JDBC与MySQL数据库交互。例如,对于添加数据,Servlet会解析请求参数,构建SQL插入语句,然后使用JDBC的Connection、Statement或...
在本项目"springboot+hibernate+html增删改查demo"中,我们将探讨如何使用Spring Boot框架、Hibernate ORM工具以及HTML页面实现一个基本的数据管理应用。这个应用提供了对数据库记录的添加、删除、修改和查询功能。...
在这个文档中,"servlet实现增删改查"的描述表明我们将探讨如何使用Servlet来操作数据库,完成对数据的基本操作,如添加(insert)、删除(delete)、修改(update)和查询(query)。 首先,开发环境包括JDK 7、...
在"springboot简单增删改查"这个项目中,开发者已经使用SpringBoot搭建了一个基本的数据操作功能,虽然内部API可能未完善,但核心的CRUD(Create、Read、Update、Delete)功能应该是可以正常运行的。 1. **...
在本示例中,"简单的springboot入门程序及简单增删改查.zip" 包含了一个用于初学者的SpringBoot项目,旨在演示基本的CRUD(创建、读取、更新、删除)操作。以下将详细介绍SpringBoot的基础知识和在这个入门程序中...
在本项目"增删改查数据库项目连带数据库z1.zip"中,主要涉及的是使用Spring Boot框架进行基本的数据操作,即增、删、改、查(CRUD)功能的实现。Spring Boot是Spring框架的一个简化版本,它旨在简化创建独立的、生产...
3. **Hibernate框架**:Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。通过Hibernate,开发者可以使用Java对象而不是SQL语句进行数据库操作,使得代码更加可读和维护。 4. **SSH...
通过Hibernate API进行增删改查操作,常用的方法包括session.save(), session.get(), session.update()和session.delete()。 6. 进行单元测试。在代码开发完成后,需要对Hibernate的配置和实体类的映射进行测试,...
Java DAO(Data Access Object)模式是一种常见的软件设计模式,它在Java应用中用于数据库操作,以实现业务逻辑层与数据访问层的解耦。DAO模式的主要目标是将数据存储的具体细节(如SQL查询)与应用程序的其他部分...
4. 编写DAO(数据访问对象):处理与数据库的交互,包括增删改查操作。 5. 实现Service层:封装业务逻辑,调用DAO操作数据。 6. 使用Spring MVC搭建Controller:处理HTTP请求,调用Service方法,返回视图或JSON响应...
在学生班级管理项目中,Hibernate负责将Java对象(如Student和Class对象)与数据库表对应,通过HQL(Hibernate查询语言)或SQL进行数据的增删改查操作。实体类通过注解或XML配置与数据库表关联,Hibernate会自动处理...
在DAO模式中,通常会定义一个接口,如`UserDAO`,包含增删改查等方法。例如,`addUser()`, `deleteUser()`, `updateUser()` 和 `findUser()`。然后,为这个接口创建一个实现类,如`UserDAOImpl`,在实现类中编写...
- **Hibernate或MyBatis**:作为持久层框架,负责数据库操作,提供了ORM(对象关系映射)功能,使得数据库操作更加便捷。 - **Servlet和JSP**:构建服务器端应用程序,处理HTTP请求,展示动态内容。 - **MVC模式*...
- **数据库操作**:通过Hibernate API(如SessionFactory、Session等)进行增删改查操作。 在实际开发中,可能还会涉及到Spring框架的集成,Spring能够简化Hibernate的配置和使用,将数据库配置和事务管理纳入其IoC...
它通过XML配置文件或注解将Java对象映射到数据库表,这样在操作对象时,Hibernate会自动完成数据的增删改查。此外,Hibernate还提供了查询语言HQL(Hibernate Query Language),以及Criteria API,使得查询更加灵活...
2. DAO接口:定义了对数据库操作的方法,例如增删改查。每个接口方法对应一个特定的数据库操作。 3. DAO实现类:实现了DAO接口,具体执行与数据库的交互,通常会使用Hibernate提供的Session接口进行持久化操作。 4...
这个系统由个人独立完成,其核心功能是与数据库进行交互,存储和检索学生的各种数据。下面将详细介绍该系统涉及的主要知识点。 1. **Java编程基础**: Java是一种广泛使用的面向对象的编程语言,具有跨平台、安全...