關(guān)鍵是這個get方法,現(xiàn)在只是能夠支持簡單的鍵值對:@SuppressWarnings("unchecked") @Override public T getByElse(Map<String, Object> params) { if(params.size() == 0) { return null; } else { Iterator<Entry<String, Object>> iterator = params.entrySet().iterator(); String sql = "from " + clazz.getSimpleName() + " where "; while (iterator.hasNext()) { Entry<String, Object> entry = iterator.next(); sql += entry.getKey() + " = :" + entry.getKey(); if(iterator.hasNext()) { sql += " and "; } } Query query = sessionFactory.getCurrentSession().createQuery(sql); iterator = params.entrySet().iterator(); while (iterator.hasNext()) { Entry<String, Object> entry = iterator.next(); query.setParameter(entry.getKey(), entry.getValue()); } try { return (T)query.uniqueResult(); } catch (Exception e) { return null; } } } 我想讓這個getByElse方法也能夠支持模糊查詢,但水平有限,希望高手指點(diǎn)
1 回答

慕田峪4524236
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個贊
1.選種數(shù)據(jù)結(jié)構(gòu),一個信息位存放是否like,或大于小于,between and的類型種類,一個存放占位名稱,一個存放參數(shù)值,自己程序判斷編寫hql
2.不想搞復(fù)雜自己拼hql的話,直接使用qbc
添加回答
舉報
0/150
提交
取消