手动配置Hibernate

本文详细介绍了Hibernate框架的基础设置,包括所需Jar包、配置文件编写、POJO类定义及基本的增删改查操作,并针对常见错误提供了相应的解决方案。

1 Hibernate 需要的jar包

 asm-3.3.jar

cglib-2.2.2

commons-beanutils

commons-collections-3.1

commons-lang3-3.3.1

commons-logging

dom4j-1.6

hibernate-3.2

mysql-connector-java-5.1.5-bin

odmg-3.0

2Hibernate.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>
<property name="connection.username">root</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/test?<!-- test为数据库的名字 -->
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>


<property name="show_sql">true</property>
<mapping resource="com/lin/po/Person.hbm.xml" />


</session-factory>


</hibernate-configuration>

3  po 类的代码

  package com.lin.po;


public class Person {
public Person() {
super();
// TODO Auto-generated constructor stub
}
private float id;
private String name;
public float getId() {
return id;
}
public void setId(float id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}




}

4 测试的代码

  package com.lin.test;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;


import com.lin.po.Person;


public class TestHBM {
public static void main(String[] args) {
Person p =new Person();
p.setId(1.0f);
p.setName("linda");
add(p);

}
public static void  add(Person p){
Transaction t =null;
try {
Configuration c =new Configuration().configure();
SessionFactory sf =c.buildSessionFactory();
Session s =sf.openSession();
s.beginTransaction();
s.save(p);
s.getTransaction().commit();
s.close();
sf.close();
System.out.println(c);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}


}

5 常见的错误

 (1)java.lang.NoClassDefFoundError: org/objectweb/asm/Type  解决:添加asm-3.3.jar

 (2) java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter 解决:添加cglib-2.2.2.jar

(3)java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap 解决:添加commons-collections-3.1.jar

(4) java.lang.NoClassDefFoundError: org/dom4j/DocumentException  解决:添加dom4j-1.6.jar

(5) org.apache.commons.logging.LogFactory  解决:添加commons-logging.jar


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值