1、在条件查询中,对属性的赋值应该为=:,千万不能写反了
@SuppressWarnings("unchecked")
public List<TOrder> listUpMoney(int state,float money1){
Session session = null;
session = HibernateSessionFactory.getSession();
List<TOrder> list = new ArrayList<TOrder>();
try {
String hql = "from TOrder as n where n.FState=:state and n.FMoney>=:money1";
Query query = session.createQuery(hql);
query.setParameter("state", state);
query.setParameter("money1", money1);
list = query.list();
return list;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
2、query.setParameter()方法中,第一个参数为字符串,第二个参数为参数值。
3、hql语句对对象的增加,删除,更新写在BaseDAO中。所有的DAO方法继承BaseDAO。
package com.dao;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.model.Pojo;
import com.sessionFactory.HibernateSessionFactory;
public class BaseDAO implements DAO {
@Override
public void add(Pojo pojo) {
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(pojo);
tx.commit();
} catch (Exception e) {
if(tx!=null) {
tx.rollback();
}
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
}
}
@Override
public void delete(Pojo pojo) {
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.delete(pojo);
tx.commit();
} catch (Exception e) {
if(tx!=null) {
tx.rollback();
}
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
}
}
@Override
public void update(Pojo pojo) {
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.update(pojo);
tx.commit();
} catch (Exception e) {
if(tx!=null) {
tx.rollback();
}
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
}
}
}
BaseDAO实现DAO的接口
package com.dao;
import com.model.Pojo;
public interface DAO {
void add(Pojo pojo);
void delete(Pojo pojo);
void update(Pojo pojo);
}