基于SSM的“基于协同过滤的在线通用旅游平台网站”的设计与实现(源码+数据库+文档)

发布于:2024-05-18 ⋅ 阅读:(182) ⋅ 点赞:(0)

基于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编程以及网页设计的相关的知识有了更深入的认识,提高了我的专业技能,也为以后从事软件开发工作奠定了一个坚实的基础。