2014-11-21 64 views
0

User_manager.java在动态Web项目使用Hibernate在数据库中如何插入值

package com.csc.trg.twit_clone.tweet_pack; 

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

public class User_Manager 
{ 

    public static void main(String[] args) 

    { 
      //creating configuration object 
     Configuration cfg=new Configuration(); 
     cfg.configure("hibernate.cfg.xml");//populates the data of the configuration file   
     //creating session factory object  
     SessionFactory factory=cfg.buildSessionFactory();   
     //creating session object 
     Session session=factory.openSession();  
     //creating transaction object 
     Transaction t=session.beginTransaction(); 
     User_Bean H =new User_Bean(); 
     H.setUserId(1001); 
     H.setUserName("visgf"); 
     H.setUserPwd("passw"); 
     H.setEmailId("[email protected]"); 
     // session.persist(H);     //persisting the object 
      session.save(H); 

     t.commit();       //transaction is committed 
     session.close(); 
     factory.close(); 

     System.out.println("successfully registered"); 
     } 
} 

**user_bean** 

package com.csc.trg.twit_clone.tweet_pack; 
public class User_Bean 
{ 

    int userId; 
    String userName; 
    String emailId; 
    String userPwd; 

public String getUserPwd() 
{ 
    return userPwd; 
} 
public void setUserPwd(String userPwd) 
{ 
    this.userPwd = userPwd; 
} 

public int getUserId() 
{ 
    return userId; 
} 
public void setUserId(int userId) 
{ 
    this.userId = userId; 
} 
public String getUserName() 
{ 
    return userName; 
} 
public void setUserName(String userName) 
{ 
    this.userName = userName; 
} 
public String getEmailId() 
{ 
    return emailId; 
} 
public void setEmailId(String emailId) 
{ 
    this.emailId = emailId; 
} 

} 

**hibernate.cfg.xml** 

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC 
      "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
      "hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 

    <session-factory> 
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="connection.url">jdbc:mysql://localhost/payrol</property> 
     <property name="connection.username">root</property> 
     <property name="connection.password">root</property> 
     <property name="show_url">true</property> 
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property>   
     <property name="hbm2ddl.auto">update</property> 
    <mapping resource="twitt.hbm.xml"/> 
    </session-factory> 
</hibernate-configuration> 

**twit.hbm.xml** 

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"hibernate-mapping-3.0.dtd"> 

<hibernate-mapping> 

    <class name="com.csc.trg.twit_clone.tweet_pack.User_Bean" table="User_table"> 
    <id name="userId"> 
    <generator class="assigned"/> 
    </id> 
    <property name="userId" column="user_name" type="int" /> 
    <property name="userName" column="user_name" type="string" /> 
     <property name="password" column="password" type="string" /> 
     <property name="emailId" column="email" type="String" /> 
    </class>    
</hibernate-mapping> 

我试图更新使用Hibernate这是我在休眠第一个程序从Java程序中的值mysql数据库“我米收到此错误plz帮助。

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment). 
log4j:WARN Please initialize the log4j system properly. 
Exception in thread "main" org.hibernate.MappingException: Could not determine type for: String, for columns: [org.hibernate.mapping.Column(email)] 
    at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266) 
    at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253) 
    at org.hibernate.mapping.Property.isValid(Property.java:185) 
    at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:410) 
    at org.hibernate.mapping.RootClass.validate(RootClass.java:192) 
    at org.hibernate.cfg.Configuration.validate(Configuration.java:1099) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1284) 
    at com.csc.trg.twit_clone.tweet_pack.User_Manager.main(User_Manager.java:21) 

我已经添加在SRC无论是TDD,配置和映射文件,而且添加了所有的罐子。

+0

http://stackoverflow.com/questions/17083681/failed-org-hibernate-mappingexception-could-not-determine-type-for-string-for – 2014-11-21 11:46:28

回答

1

请在配置文件中查看“string”的大小写。

<property name="password" column="password" type="string" /> 
<property name="emailId" column="email" type="String" /> 
+0

感谢您的答复我检查其正确 – 2014-11-21 12:30:14

+0

检查这一部分是否该错误<?xml version ='1.0'encoding ='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC “ - // Hibernate/Hibernate Mapping DTD 3.0 // EN” “hibernate -mapping-3.0.dtd“>,并告诉在哪里添加”hibernate-mapping-3.0.dtd“文件的Dynamic web项目 – 2014-11-21 12:30:31

相关问题