hibernate.cfg.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/pmmp</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<property name="hibernate.connection.isolation">2</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
 
<!--  
  <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@192.168.0.23:1521:userdb</property>
<property name="connection.username">openlab</property>
<property name="connection.password">open123</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
 
-->   <!--  
  <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name="connection.url">jdbc:microsoft:sqlserver://localhost:port>;DatabaseName=<dbname></property>
<property name="connection.username">openlab</property>
<property name="connection.password">open123</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
 
-->  
<mapping resource="org/pmmp/Entity/MemberBaseInfo.hbm.xml"/>
</session-factory>
</hibernate-configuration>memberbaseinfo.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.pmmp.Entity">
  <class name="MemberBaseInfo" table="t_memberbaseinfo">
  <!-- 配置类MemberBaseInfo对应表 -->
  <id name="id" column="id">
  <generator class="native"></generator>
  </id>
      <property name="useName" column="userName" type="string"></property>
            <!--name 自己定义 column 对应数据库 -->
      <property name="passWord" column="passWord" type="string"></property>
      <property name="realName" column="realName" type="string"></property>
      
      <property name="sex" column="sex" type="string"></property>
      <property name="birthday" column="birthday" type="date"></property>
      <property name="constellation" column="constellation" type="string"></property>
      <property name="salary" column="salary" type="float"></property>
      
      <property name="education" column="education" type="string"></property>
      <property name="now_address" column="now_address" type="string"></property>
      <property name="email" column="email" type="string"></property>
      
      <property name="createtime" column="createtime" type="date"></property>
      <property name="blood_type" column="blood_type" type="string"></property>
      <property name="stature" column="stature" type="int"></property>
      
      <property name="ethnicity" column="ethnicity" type="string"></property>
      <property name="grad_school" column="grad_school" type="string"></property>
      <property name="special" column="special" type="string"></property>
      
      <property name="career" column="career" type="string"></property>
      <property name="QQ" column="QQ" type="string"></property>
      <property name="mobile_phone" column="mobile_phone" type="string"></property>
  </class></hibernate-mapping>MemberBaseInfo.javapackage org.pmmp.Entity;import javax.xml.crypto.Data;public class MemberBaseInfo {
private int id;
private String useName;
private String passWord;
private String realName;
private String sex;
private Data birthday;
private Data createtime;
private String constellation;
private String animal_sign;
private float salary;
private String education;
private String now_address;
private String email;
private String blood_type;
private int stature;
private String ethnicity;
private String grad_school;
private String special;
private String career;
private String QQ;
private String mobile_phone;

public MemberBaseInfo(){

} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getUseName() {
return useName;
} public void setUseName(String useName) {
this.useName = useName;
} public String getPassWord() {
return passWord;
} public void setPassWord(String passWord) {
this.passWord = passWord;
} public String getRealName() {
return realName;
} public void setRealName(String realName) {
this.realName = realName;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public Data getBirthday() {
return birthday;
} public void setBirthday(Data birthday) {
this.birthday = birthday;
} public Data getCreatetime() {
return createtime;
} public void setCreatetime(Data createtime) {
this.createtime = createtime;
} public String getConstellation() {
return constellation;
} public void setConstellation(String constellation) {
this.constellation = constellation;
} public String getAnimal_sign() {
return animal_sign;
} public void setAnimal_sign(String animal_sign) {
this.animal_sign = animal_sign;
} public float getSalary() {
return salary;
} public void setSalary(float salary) {
this.salary = salary;
} public String getEducation() {
return education;
} public void setEducation(String education) {
this.education = education;
} public String getNow_address() {
return now_address;
} public void setNow_address(String now_address) {
this.now_address = now_address;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
} public String getBlood_type() {
return blood_type;
} public void setBlood_type(String blood_type) {
this.blood_type = blood_type;
} public int getStature() {
return stature;
} public void setStature(int stature) {
this.stature = stature;
} public String getEthnicity() {
return ethnicity;
} public void setEthnicity(String ethnicity) {
this.ethnicity = ethnicity;
} public String getGrad_school() {
return grad_school;
} public void setGrad_school(String grad_school) {
this.grad_school = grad_school;
} public String getSpecial() {
return special;
} public void setSpecial(String special) {
this.special = special;
} public String getCareer() {
return career;
} public void setCareer(String career) {
this.career = career;
} public String getQQ() {
return QQ;
} public void setQQ(String qq) {
QQ = qq;
} public String getMobile_phone() {
return mobile_phone;
} public void setMobile_phone(String mobile_phone) {
this.mobile_phone = mobile_phone;
}

}
memberbaseinfotest.java
package org.pmmp.test;import org.hibernate.*;
import org.hibernate.cfg.*;
import org.pmmp.Entity.MemberBaseInfo;public class MemberBaseInfoTest {
 public static void main(String[] args){
//读取配置文件hibernate.cfg.xml
Configuration  config = new Configuration().configure();
//生成SesionFactory
SessionFactory sessionFactory = config.buildSessionFactory();
//生成一个Session

Session session=sessionFactory.openSession();
//生成一个MemberBaseInfo对象
MemberBaseInfo baseInfo = new MemberBaseInfo();
baseInfo.setUseName("Dora");
baseInfo.setPassWord("123");
baseInfo.setRealName("ccx");
baseInfo.setSex("F");
baseInfo.setEducation("ddd");
//开起事务
session.beginTransaction();
//调用save方法把数据存到数据库
session.save(baseInfo);
//提交事务
session.beginTransaction().commit();

session.close();
sessionFactory.close();
 }
}报错:
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.pmmp.test.MemberBaseInfoTest.main(MemberBaseInfoTest.java:10)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:126)
... 1 more
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
... 5 more
Caused by: java.lang.NullPointerException
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:374)
... 6 more

解决方案 »

  1.   

    <property name="passWord" column="passWord" type="string"></property>这里的类型可以直接定义String?<property name="passWord" column="passWord" type="java.lang.String"></property>改这个看看,别的也类似java.util.Date
      

  2.   

    Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.pmmp.test.MemberBaseInfoTest.main(MemberBaseInfoTest.java:10)
    Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))错误很明显MemberBaseInfoTest.main的10行出错。看看10行是否是初始化hibernate的配置文件,如果是看看是否配置文件有什么问题。仔细检查一下
      

  3.   

    你的commons-logging.jar是用的eclipse自带的吧,有可能是这个包的冲突问题,看看lib下是不是有多个版本的这个包,或者删除里面所有这个包,然后重新down一个从官网上
      

  4.   

    问题解决了,原来是我把hibernate 下的 包导入错了,谢谢各位的帮助