实体Customer类:
package wei.peng;
import java.io.Serializable;
public class Customer implements Serializable{
private static final long serialVersionUID = 4054639727225043549L;
private int id;
private String name;
private int age;
private String job;
public Customer() {
super();
}
public Customer(int id, String name, int age, String job) {
super();
this.id = id;
this.name = name;
this.age = age;
this.job = job;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
}
Customer的Hibernate配置文件(和Customer类在一个目录下):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="wei.peng">
<class name="Customer" table="customer">
<meta attribute="sync–DAO">false</meta>
<id name="id" type="integer" column="id">
<generator class="increment"></generator>
</id>
<property name="name" column="name" type="string" not-null="true"
length="50">
</property>
<property name="age" column="age" type="integer">
</property>
<property name="job" column="job" type="string" not-null="true"
length="50">
</property>
</class>
</hibernate-mapping>
Hibernate配置文件:
<?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="hibernate.connection.url">
jdbc:mysql://192.168.235.26:3306/mysql
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">mysql</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<mapping resource="wei/peng/Customer.hbm.xml" />
</session-factory>
</hibernate-configuration>
测试类CustomerTest类:
package wei.peng.test;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import wei.peng.Customer;
public class CustomerTest {
public static void main(String[] args) {
try {
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Customer cs = new Customer();
cs.setName("wei.peng");
cs.setAge(28);
cs.setJob("Developer");
session.save(cs);
tx.commit();
session.close();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}
Exception总结:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1494)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1414)
at wei.peng.test.CustomerTest.main(CustomerTest.java:19)
Caused by: org.dom4j.DocumentException: Error on line 2 of document : The document type declaration for root element type "hibernate" must end with '>'. Nested exception: The document type declaration for root element type "hibernate" must end with '>'.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1484)
... 3 more
Fuck ***,
拷贝网上的实例,有的家伙,也不知道有没有在直接的机器上跑过
NND,问题就是一些符号Dom4j不能解析,譬如:- > <
看上去,都是一样的,没有问题。
解决的办法:
1、将XML文件在IE浏览器中打开,如果有错误,IE会提示的(相当给力啊)
2、输入法切换到英文输入状态,IE点到哪里,你就删除IE点到的,再输入一次,就OK了
【我不知道,你们的问题是不是这个,反正我是这么搞定的,希望对你们有帮助】
Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/EntityListeners
at org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.getDefaults(JPAMetadataProvider.java:96)
at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.getDefaults(JavaReflectionManager.java:226)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1355)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826)
at wei.peng.test.CustomerTest.main(CustomerTest.java:19)
Caused by: java.lang.ClassNotFoundException: javax.persistence.EntityListeners
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
... 5 more
原因:
没有引入hibernate-distribution-3.6.0.Final\lib\jpa下面的hibernate-jpa-2.0-api-1.0.0.Final.jar
分享到:
相关推荐
【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...
《Spring-Hibernate-Structs 入门教程》 在当今的Java开发领域,Spring、Hibernate和Struts(Structs)是三个非常重要的框架,它们分别在应用层、持久层和表现层发挥着关键作用。本教程将带领你深入了解这三个框架...
### Eclipse快速上手Hibernate之入门实例详解 #### 引言 Hibernate是一个强大的对象关系映射(ORM)框架,用于简化数据库操作,使开发者能够用面向对象的方式处理数据库数据,而无需编写复杂的SQL语句。本篇文章将...
《深入理解Hibernate 3.1.1:从入门到精通》 一、引言与初次应用体验 在《hibernate-reference-3.1.1.pdf》文档中,开篇便引导读者进入Hibernate的世界,从一个简单的应用示例入手,逐步深入地介绍了Hibernate的...
**Hibernate入门实例** Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库交互。这个入门实例将带你了解如何配置Hibernate、创建实体类、定义...
### Hibernate快速入门实例详解 #### 一、概述 本文档主要介绍了如何通过Hibernate框架实现一个简单的Java Web项目中的数据持久化操作。通过本教程的学习,读者可以了解到如何使用Hibernate进行数据库连接、实体类...
【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...
3. Session工厂和Session:通过SessionFactory创建Session实例,执行CRUD操作。 4. 查询操作:使用HQL或Criteria API进行数据查询,可以进行复杂的条件过滤、分页和排序。 六、最佳实践 1. 使用二级缓存提高性能:...
**hibernate入门实例操作步骤** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用Java对象的方式处理数据库事务。本篇将详细介绍Hibernate入门实例的操作步骤,...
在"一个Struts Hibernate的入门实例"中,我们将探讨如何将这两个框架整合到一个项目中,以实现高效、灵活的Web应用开发。 首先,Struts框架的核心组件包括Action、ActionForm、ActionServlet、Struts配置文件...
hibernate入门实例,内容是增加人员信息实例,手动配置相关配置文件、pojo类,测试数据。后台数据采用mysql数据库,有实体表创建语句,相关hibernate的jar包与数据库驱动包也上传了,可以直接使用,很方便!
### MyEclipse 下 Hibernate 入门实例详解 #### 一、引言 本文将详细介绍如何在 MyEclipse 环境下使用 Hibernate 进行一个简单的数据库操作实例。该实例将涵盖从环境搭建到实现增删改查的基本过程。通过这个实例,...
【Hibernate快速入门教程】 在Java开发中,Hibernate是一个非常重要的框架,它实现了对象关系映射(ORM)技术,使得开发者可以使用面向对象的方式来操作数据库,极大地简化了数据访问层的编程工作。本教程针对初学...
以下是关于Hibernate入门的一些关键知识点: 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为Java类的过程,通过这种方式,我们可以使用面向对象的编程方式来操作数据,而无需直接编写SQL语句。 2. **...
【Hibernate 5.0.4 入门实例详解】 Hibernate 是一个开源的 Java 库,它作为对象关系映射(ORM)工具,使得开发者能够用面向对象的方式处理数据库操作,而无需关注底层 SQL 语法。在 Hibernate 5.0.4 版本中,这个...
Hibernate ORM 5.4.30 的入门指南提供了关于如何使用 Hibernate 进行数据库操作的详细教程。文档的结构清晰,分为多个部分,引导用户了解如何通过原生的Hibernate API以及hbm.xml文件进行映射,如何使用注解映射实体...
### Hibernate入门经典实例详解 #### 实验一:Hibernate开发框架搭建 **实验目的:** - 理解并掌握如何使用Hibernate进行持久层开发; - 了解三层架构的意义:业务逻辑层、数据持久层和数据库。 **技术要点:** ...
### Hibernate与Struts实例学习知识点 #### 1. 数据库设计与表建立 ...以上知识点涵盖了Hibernate与Struts实例学习过程中需要掌握的核心内容,有助于读者在实际开发中快速入门并应用Hibernate框架。
### hibernate3入门知识点 #### 一、概述 **Hibernate**是一种对象关系映射(Object/Relational Mapping,简称ORM)解决方案,它提供了一种机制,用于将Java对象及其关系映射到关系型数据库中的表及其关系。通过...