這是顯示信息的數據表的命令,我看到它是重複Java的休眠聲明連接有效
CODE 1
public class DBTable {
public List<MdGmail> showGmail() {
Configuration conf = new Configuration().configure("hibernate.cfg.xml");
SessionFactory sf = conf.buildSessionFactory();
currentSession = sf.getCurrentSession();
currentSession.beginTransaction();
return currentSession.createCriteria(MdGmail.class).list();
}
public List<MdBlogger> showBlogger() {
Configuration conf = new Configuration().configure("hibernate.cfg.xml");
SessionFactory sf = conf.buildSessionFactory();
currentSession = sf.getCurrentSession();
currentSession.beginTransaction();
return currentSession.createCriteria(MdBlogger.class).list();
}
}
在我的課DBTABLE聲明,我創建了一個列表功能在數據庫中顯示數據表格作爲表格gmail,訂單... 隨着第一個代碼1需要重寫每個函數的聲明,所以我想要的是創建一個連接函數,所有代碼爲2
但與方式這一聲明它不會更新值在數據庫中更改
CODE 2
public class DBTable {
private static final Configuration conf = new Configuration().configure("hibernate.cfg.xml");
private static final SessionFactory sf = conf.buildSessionFactory();
private static Session currentSession;
public DBTable() {
currentSession = sf.getCurrentSession();
currentSession.beginTransaction();
}
private static DBTable instance = null;
public static DBTable getInstance() {
if (instance == null) {
instance = new DBTable();
}
return instance;
}
public List<MdGmail> showTableGmail() {
return currentSession.createCriteria(MdGmail.class).list();
}
public List<MdGmail> showTableOrder() {
return currentSession.createCriteria(MdGmail.class).list();
}
}
如果使用新的附加數據功能,連接將被關閉,命令數據顯示我的表會停止working.Please幫我
public boolean saveOrUpdateGmail(MdGmail table) {
try {
currentSession.saveOrUpdate(table);
currentSession.getTransaction().commit();
return true;
} catch (Exception e) {
currentSession.getTransaction().rollback();
e.printStackTrace();
return false;
}
}
我不明白你的問題,反正你用sf.openSession()試過? –
如果問題尚未解決,請使用日誌中的錯誤消息編輯問題。 –
謝謝@ localhost999我的語句對邏輯錯誤,所以它沒有錯誤。因爲我調用了下面的語句Table.getInstance DB()。 ShowGmail()我試了好幾次我終於克服了簡單,我擦除命令檢查「實例null」 –