SSM+Mysql+layui 新闻网站+增删改查后台代码(2)

这篇博客介绍了如何使用SSM(Spring、SpringMVC、MyBatis)和MySQL数据库结合Layui前端框架,实现新闻网站的增删改查后台代码。内容涵盖Controller和Service层的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章的增删改查

controller

// 管理模块中,总的文章查询(不包括被删除的)
	@RequestMapping("/articleSelect1")
	@ResponseBody
	private Map<String, Object> selectAll1(int limit, int page, String wenzhang, String leixing, String bu,
			Integer lan) {
		Map<String, Object> map = new HashMap<String, Object>();
//方法中的wenzhang,leixing,bu是查找条件参数
		PageHelper.startPage(page, limit);//maven引入pagehelper分页
		List<Article> list = articleService.getAll(wenzhang, leixing, bu, lan);
		long count = articleService.getAllCount(wenzhang, leixing, bu, lan);

		map.put("data", list);
		map.put("code", 0);
		map.put("count", count);
		//layui前台接收的数据格式如上
		return map;

	}
//添加一篇文章
	@RequestMapping("/articleAdd1")
	@ResponseBody
	private Map<String, Object> add1(@RequestBody HashMap<String, String> map2) throws Exception {
		Map<String, Object> map = new HashMap<String, Object>();
		int caId = Integer.parseInt(map2.get("caId"));
		String arTitle = map2.get("arTitle");
		String arContent = map2.get("arContent");
		String arUser = map2.get("arUser");
		String arState = map2.get("arState");
		String arDuty = map2.get("arDuty");
		String arSpare1 = map2.get("arSpare1");
		String arSpare2 = map2.get("arSpare2");
		String arSpare3 = map2.get("arSpare3");
		String arPosition = map2.get("arPosition");
		String arImage = map2.get("arImage");
		String arDetail = map2.get("arDetail");

		Article article = new Article();
		long maxcount = articleService.getAllCount();
		long max = maxcount + 1;
		/* System.out.println(max); */
		String arNumber = String.valueOf(max);
		article.setArNumber(arNumber);
		//获取文章总量,为文章赋值序列号,便于后期排序

		Date date = new Date();
		SimpleDateFormat format = new SimpleDateFormat("yyMMdd");
		SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
		String da = format.format(date);
		String da2 = format2.format(date);
		double random = Math.random() * 10000;
		String arId = da + (int) random;
		String arTime = da2;
		//把日期转化为字符格式,用时间字符串加随机数做文章Id
		System.out.println(arSpare1 + arState);

		article.setArState(arState);
		article.setArId(arId);
		article.setArTime(arTime);
		article.setArContent(arContent);
		article.setArDuty(arDuty);
		article.setArPosition(arPosition);
		article.setArSpare1(arSpare1);
		article.setArSpare2(arSpare2);
		article.setArSpare3(arSpare3);
		article.setArTitle(arTitle);
		article.setCaId(caId);
		article.setArUser(arUser);
		article.setArImage(arImage);
		article.setArDetail(arDetail);
		boolean row = articleService.articleAdd(article);

		if (row) {
			List<Article> list = articleService.getAll();
			long count = articleService.getAllCount();
			map.put("data", list);
			map.put("code", 0);
			map.put("returnCode", "200");
			map.put("count", count);
			return map;
		} else {
			map.put("code", 1);
			// 插入失败
			return map;
		}

	}
//修改一篇文章
	@RequestMapping("/articleUpdate")
	@ResponseBody
	private Map<String, Object> update(@RequestBody HashMap<String, String> map2) throws Exception {
		Map<String, Object> map = new HashMap<String, Object>();
		int caId = Integer.parseInt(map2.get("caId"));
		String arId = map2.get("arId");
		String arTitle = map2.get("arTitle");
		String arContent = map2.get("arContent");
		String arState = map2.get("arState");
		String arDuty = map2.get("arDuty");
		String arSpare1 = map2.get("arSpare1");
		String arSpare2 = map2.get("arSpare2");
		String arSpare3 = map2.get("arSpare3");
		String arPosition = map2.get("arPosition");
		String arImage = map2.get("arImage");
		String arDetail = map2.get("arDetail");

		Article article = new Article();

		article.setArId(arId);
		article.setArContent(arContent);
		article.setArDuty(arDuty);
		article.setArPosition(arPosition);
		article.setArSpare2(arSpare2);
		article.setArSpare3(arSpare3);
		article.setArTitle(arTitle);
		article.setCaId(caId);
		article.setArImage(arImage);
		article.setArSpare1(arSpare1);
		article.setArState(arState);
		article.setArDetail(arDetail);

		boolean row = articleService.articleUpdate(article);
		System.out.println("执行了更新");
		if (row) {
			List<Article> list = articleService.getAll();
			long count = articleService.getAllCount();
			map.put("data", list);
			map.put("code", 0);
			map.put("returnCode", "200");
			map.put("count", count);
			return map;
		} else {
			map.put("code", 1);
			
			return map;
		}

	}
//伪删除,获取文章Id,修改状态参数
	@RequestMapping("/articleDelete")
	@ResponseBody
	private Map<String, Object> delete(@RequestBody HashMap<String, String> map2) throws Exception {
		Map<String, Object> map = new HashMap<String, Object>();
		String arId = map2.get("arId");
		Article article = new Article();
		article.setArId(arId);
		article.setArState("3");

		boolean row = articleService.articleDelete(article);
		if (row) {
			List<Article> list = articleService.getAll();
			long count = articleService.getAllCount();
			map.put("data", list);
			map.put("code", 0);
			map.put("returnCode", "200");
			map.put("count", count);
			return map;
		} else {
			map.put("code", 1);
			
			return map;
		}
	}
//文件上传后台代码
	@ResponseBody
	@RequestMapping(value = "/upload", method = RequestMethod.POST)
	private Map<String, Object> upload(MultipartFile file, HttpServletRequest request) {

		String prefix = "";
		String dateStr = "";
		// 保存上传
		OutputStream out = null;
		InputStream fileInput = null;
		System.out.println("运行到文件成功0");
		try {
			if (file != null) {
				String originalName = file.getOriginalFilename();
				prefix = originalName.substring(originalName.lastIndexOf(".") + 1);
				Date date = new Date();
				String uuid = UUID.randomUUID() + "";
				SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
				dateStr = simpleDateFormat.format(date);
				/*
				 * String filepath =
				 * "D:\\WorkTools\\Tomcat\\apache-tomcat-9.0.22\\webapps\\temp\\" + dateStr + "\
				 * \" + uuid + "." + prefix;
				 */
				String filepath = "D:\\gyy\\tomcat8\\webapps\\temp\\" + dateStr + "\\" + uuid + "." + prefix;
				File files = new File(filepath);
				// 查看上传路径
				System.out.println(filepath);
				if (!files.getParentFile().exists()) {
					files.getParentFile().mkdirs();
				}
				file.transferTo(files);
				Map<String, Object> map2 = new HashMap<String, Object>();
				Map<String, Object> map = new HashMap<String, Object>();
				map.put("code", 0);
				map.put("msg", "");
				map.put("data", map2);
				map2.put("src", "/temp/" + dateStr + "/" + uuid + "." + prefix);
				map2.put("filename", originalName);
				
				return map;
			}

		} catch (Exception e) {
			
		} finally {
			try {
				if (out != null) {
					out.close();
				}
				if (fileInput != null) {
					fileInput.close();
				}
				
			} catch (IOException e) {
				
			}
		}
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("code", 1);
		map.put("msg", "");
		
		return map;

	}
//新闻展示页面获取后台文章列表
@RequestMapping("")//这里设成空字符,访问Ip会默认执行这个命令
	public String index(Map<String, Object> map) {
		long pagesize = 10;
		// 初始页,被减到零自动跳回1
		long currentpage = 1;
		//
		List<Article> articlelist1 = articleService.selectarticlebyca(0, 5, 1);
		List<Article> articlelist2 = articleService.selectarticlebyca(0, 5, 2);
		List<Article> articlelist3 = articleService.selectarticlebyca(0, 5, 3);
		List<Article> articlelist4 = articleService.selectarticlebyca(0, 5, 4);
		List<Article> articlelist5 = articleService.selectarticlebyca(0, 5, 5);
		List<Article> articlelist6 = articleService.selectarticlebyca(0, 5, 6);
		List<Article> articlelist7 = articleService.selectarticlebyca(0, 5, 7);
		// 大图
		List<Article> articlelist8 = articleService.selectarticlebycadatu(0, 6, "2");
		// 活动掠影
		List<Article> articlelist9 = articleService.selectarticlebycadatu(0, 8, "3");
		List<Catalog> catlist = catalogService.getAll();

		map.put("article1", articlelist1);
		map.put("article2", articlelist2);
		map.put("article3", articlelist3);
		map.put("article4", articlelist4);
		map.put("article5", articlelist5);
		map.put("article6", articlelist6);
		map.put("article7", articlelist7);
		map.put("article8", articlelist8);
		map.put("article9", articlelist9);
		map.put("catlist", catlist);

		return "pomain";
	}

Service

	public boolean articleAdd(Article article) {
		// TODO Auto-generated method stub
		articleMapper.insertSelective(article);
		return true;
	}

	public boolean articleUpdate(Article article) {
		// TODO Auto-generated method stub
		articleMapper.updateByPrimaryKeySelective(article);
		return true;
	}
	public List<Article> getAll(String wenzhang, String leixing, String bu, Integer lan) {
		// TODO Auto-generated method stub
		ArticleExample example = new ArticleExample();
		example.setOrderByClause("ar_number*1 DESC");
		ArticleExample.Criteria criteria = example.createCriteria();
		if (null != wenzhang && !"".equals(wenzhang)) {
			criteria.andArTitleLike("%" + wenzhang + "%");
		}
		if (null != leixing && !"".equals(leixing)) {
			criteria.andArDutyEqualTo(leixing);
		}
		if (null != bu && !"".equals(bu)) {
			criteria.andArUserEqualTo(bu);
		}
		if (null != lan && !"".equals(lan)) {
			criteria.andCaIdEqualTo(lan);
		}
		criteria.andArStateNotEqualTo("3");
		List<Article> articleList1 = articleMapper.selectByExampleByMyself(example);
		
		ArticleExample example1 = new ArticleExample();
		ArticleExample.Criteria criteria1 = example1.createCriteria();
		criteria1.andArDutyEqualTo("2");

		// 上传下达类型的,检测未上传文件人员 ,赋值给文章属性
		List<Article> articleList = articleMapper.selectByExample(example1);
		for (Article arlist : articleList) {
				List<Comment> commentList = commentMapper.selectByExampleByMyself(arlist.getArId());
			String str1 = "xxxx";//如果用户在文章下面回复了,就把他的名字从未回复名单xxxx中删除
			for (Comment comments : commentList) {
				String str2 = comments.getComName();
				boolean result1 = str1.contains(str2);
				String str3 = str2 + ",";
				System.out.println(result1);

				if (result1) {
					str1 = str1.replace(str3, "");
				} else {

				}
			}
			/* System.out.println(str1); */
			arlist.setArNotyet(str1);
			articleMapper.updateByPrimaryKeySelective(arlist);
		}

以上实现了新闻网站的基本功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值