基于SSM的“基于协同过滤的在线通用旅游平台网站”的设计与实现(源码+数据库+文档)
-
开发语言:Java
-
数据库:MySQL
-
技术:SSM
-
工具:IDEA/Ecilpse、Navicat、Maven
系统展示
系统主界面
景点信息界面
后台界面
部分源码
@Repository
public class HobbyDao extends HibernateDaoSupport {
@Autowired
protected void initDao(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
public Hobby findById(java.lang.String id) {
return getHibernateTemplate().get(Hobby.class, id);
}
public List<Hobby> findList(Hobby entity, int start, int limit) {
DetachedCriteria criteria = DetachedCriteria.forClass(entity.getClass());
if (entity != null) {
/**********************************************************************/
if (StringUtils.isNotEmpty(entity.getId())) {
criteria.add(Restrictions.like("id", entity.getId(), MatchMode.ANYWHERE));
}
if (StringUtils.isNotEmpty(entity.getName())) {
criteria.add(Restrictions.like("name", entity.getName(), MatchMode.ANYWHERE));
}
/**********************************************************************/
}
criteria.addOrder(Order.desc("createtime"));
return getHibernateTemplate().findByCriteria(criteria, start, limit);
}
public List<Hobby> findAllList(Hobby entity) {
DetachedCriteria criteria = DetachedCriteria.forClass(entity.getClass());
if (entity != null) {
/**********************************************************************/
if (StringUtils.isNotEmpty(entity.getId())) {
criteria.add(Restrictions.like("id", entity.getId(), MatchMode.ANYWHERE));
}
if (StringUtils.isNotEmpty(entity.getName())) {
criteria.add(Restrictions.like("name", entity.getName(), MatchMode.ANYWHERE));
}
/**********************************************************************/
}
criteria.addOrder(Order.desc("createtime"));
return getHibernateTemplate().findByCriteria(criteria);
}
public int countList(Hobby entity) {
DetachedCriteria criteria = DetachedCriteria.forClass(entity.getClass());
if (entity != null) {
/**********************************************************************/
if (StringUtils.isNotEmpty(entity.getId())) {
criteria.add(Restrictions.like("id", entity.getId(), MatchMode.ANYWHERE));
}
if (StringUtils.isNotEmpty(entity.getName())) {
criteria.add(Restrictions.like("name", entity.getName(), MatchMode.ANYWHERE));
}
/**********************************************************************/
}
ProjectionList projList = Projections.projectionList();
projList.add(Projections.count("id"));
criteria.setProjection(projList);
HibernateTemplate hibernateTemplate = getHibernateTemplate();
List<?> countList = hibernateTemplate.findByCriteria(criteria);
if (!countList.isEmpty()) {
return Integer.parseInt(countList.get(0) + "");
}
return 0;
}
public boolean delete(String id) {
if (StringUtils.isNotEmpty(id)) {
Hobby entity = findById(id);
if (entity != null) {
getHibernateTemplate().delete(entity);
return true;
}
}
return false;
}
public boolean update(Hobby entity) {
try {
if (entity != null && StringUtils.isNotEmpty(entity.getId())) {
Hobby updateEntity = findById(entity.getId());
entity.setCreatetime(updateEntity.getCreatetime());
PropertyUtils.copyProperties(updateEntity, entity);
getHibernateTemplate().update(updateEntity);
} else {
entity.setCreatetime(new Date());
getHibernateTemplate().save(entity);
}
return true;
} catch (DataAccessException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
return false;
}
}
结论
此次毕业设计让我对JAVA语言和MYSQL2008有着更清晰的认识。同时对于各种开发工具的操作也更加熟练了。当然在程序的设计和实现过程中也遇到了许许多多的困难,我通过请教指导老师和查阅资料顺利得克服并能解决困难。在此过程中更让我懂得了面对困难应该如何想着去解决。真正的达到了为自己四年的大学生活交上一份完美的答卷。虽然旅游网站的设计和实现已经基本完成了,但在我看来网站还存在一定的瑕疵和不足之处,距离真正可以上线发布使用还存在一定的差距,在今后的学习过程中我会不断的提高和完善。通过在实现本网站的设计过程中,让我对旅游网站的基本相关情况有了更进一步的了解,也对一般的网站系统有了更新的认识。更是我对大学所学习的专业课程的一次完整的实践运用,加深了我对JAVA编程语言的深入理解,以及以及对JSP编程以及网页设计的相关的知识有了更深入的认识,提高了我的专业技能,也为以后从事软件开发工作奠定了一个坚实的基础。