我使用spring mvc并创建了CRUD功能。但我想创建一个搜索函数,使我能够通过任何参数(变量)查找用户,如'用户名'或'用户名'或'姓氏'或'社会安全号码'或其他。如何编写一个搜索类来接受任何类型的参数?
我的用户名是一个整数类型。
我该怎么做?什么是SQL查询?
如何检查输入是整数还是字符串,然后通过给定参数遍历数据库并搜索用户?
抽象DAO类:
为实体public abstract class AbstractHibernateDAO<T> {
private static final String PARAM_VALUE_PARAMETER = "paramValue";
private final Class<T> clazz;
@Autowired
private SessionFactory sessionFactory;
public AbstractHibernateDAO(Class<T> clazz) {
this.clazz = clazz;
}
public T findOne(String paramName, Object paramValue) {
Session session = sessionFactory.getCurrentSession();
@SuppressWarnings("unchecked")
T fetchedObject = (T) session.createCriteria(clazz).add(Restrictions.eq(paramName, paramValue)).uniqueResult();
return fetchedObject;
}
// Other CRUD methods.
}
具体DAO类:
@Repository
@Transactional
public class ProductHibernateDAO extends AbstractHibernateDAO<Product> {
public ProductHibernateDAO() {
super(Product.class);
}
}
谢谢这是非常有帮助的。 – user1067665 2012-08-13 17:45:39