我做了一個小例子程序中插入數據使用Java Hibernate的MySQL數據庫表。每一件事情都很好&我得到的結果休眠錯誤
「INFO:架構更新完成 休眠:插入項目(itemcode,itemdiscription,ITEMPRICE,的itemId)值 BUILD SUCCESSFUL(總時間(,,,????) :2秒)」
我的映射文件&配置文件都OK。 但是,當我在命令提示符中運行查詢以獲取更新的值時,它不會顯示我的java pojo類輸入的值。 這是爲什麼? 請考慮我爲此使用了netbeans 7.1。
映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="firsthibernetapp.Item" table="items">
<id name="iid" type="int" column="itemId" >
<generator class="assigned"/>
</id>
<property name="icode">
<column name="itemcode"/>
</property>
<property name="idiscription">
<column name="itemdiscription"/>
</property>
<property name="iprice">
<column name="itemprice"/>
</property>
</class>
</hibernate-mapping>
hibernet.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">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306 /combo</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">********</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="hibernate.hbm.xml"/>
</session-factory>
</hibernate-configuration>
代碼:
package firsthibernetapp;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class FirstHibernetApp {
public static void main(String[] args) {
Session session = null;
try{
SessionFactory sessionFactory =
new Configuration().configure().buildSessionFactory();
session =sessionFactory.openSession();
Item item = new Item();
System.out.println("Inserting Record");
item.setIid(5);
item.setIcode("FX00010");
item.setIdiscription("Apple");
item.setIprice(10);
session.save(item);
System.out.println("Done");
}catch(Exception e){
System.out.println(e.getMessage());
}
finally{
session.flush();
session.close();
}
}
}
`
「命令行」是什麼意思?您正在使用哪個查詢?什麼是'select * from items'顯示? – Matteo 2012-03-03 16:16:56
我輸入了「SELECT * FROM items;」 (項目是我的數據庫表)。這隻顯示使用命令行輸入的數據。 – Grant 2012-03-03 16:17:43
你必須顯示(相關)的代碼...看起來你沒有正確提交您的交易 – home 2012-03-03 16:21:52