今天写了一个挺好玩的小程序java回收站(主要是通过一个字段练判断我们数据的状态) 代码如下
1.实体类
package com.bwie.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.regex.PatternSyntaxException;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity(name = "boke")
public class Boke {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;//id
private String name;//标题
private String nei;//内容
}
2.控制层
package com.bwie.controller;
import com.bwie.pojo.Boke;
import com.bwie.service.BokeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/boke")
public class BokeController {
@Autowired
private BokeService bokeService;
//正常列表
@RequestMapping("/list")
public String list(Model model){
List<Boke> list=bokeService.list();
model.addAttribute("b",list);
return "list";
}
//回收站列表
@RequestMapping("/hlist")
public String hlist(Model model){
List<Boke> hlist=bokeService.hlist();
model.addAttribute("h",hlist);
return "hlist";
}
//修改回收站
@RequestMapping("/toupdate")
@ResponseBody
public Integer toupdate(Integer id){
return bokeService.updatestate(id);
}
//回复数据
@RequestMapping("/restore")
@ResponseBody
public Integer restore(Integer id){
return bokeService.Updaterestorer(id);
}
//永久删除
@RequestMapping("/del")
@ResponseBody
public Integer del(Integer id){
return bokeService.delByid(id);
}
}
3.service接口和service(中间我使用一下redis的存和程序无关)
package com.bwie.service;
import com.bwie.pojo.Boke;
import javax.persistence.Id;
import java.util.List;
public interface BokeService {
List<Boke> list();
List<Boke> hlist();
Integer updatestate(Integer id);
Integer Updaterestorer(Integer id);
Integer delByid(Integer id);
}
package com.bwie.service.impl;
import com.bwie.dao.BokeDAO;
import com.bwie.pojo.Boke;
import com.bwie.service.BokeService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BokeServiceimpl implements BokeService {
@Autowired
private BokeDAO bokeDAO;
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Override
public List<Boke> list() {
return bokeDAO.list();
}
@Override
public List<Boke> hlist() {
return bokeDAO.hlist();
}
@Override
public Integer updatestate(Integer id) {
Integer u = bokeDAO.updatestate(id);
ObjectMapper objectMapper = new ObjectMapper();
try {
String s = objectMapper.writeValueAsString(u);
redisTemplate.boundValueOps("first").set(s);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return u;
}
@Override
public Integer Updaterestorer(Integer id) {
return bokeDAO.Updaterestorer(id);
}
@Override
public Integer delByid(Integer id) {
return bokeDAO.delByid(id);
}
}
4:DAO接口
package com.bwie.dao;
import com.bwie.pojo.Boke;
import java.util.List;
public interface BokeDAO {
//正常数据
List<Boke> list();
//回收站数据
List<Boke> hlist();
//删除到回收站
Integer updatestate(Integer id);
//回复回收站数据
Integer Updaterestorer(Integer id);
//永久删除
Integer delByid(Integer id);
}
5:sql
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bwie.dao.BokeDAO">
<!-- 修改为回收张-->
<update id="updatestate">
update boke set
state=2
where id=#{id}
</update>
<!-- 回复数据-->
<update id="Updaterestorer">
update boke set
state=1
where id=#{id}
</update>
<!-- 永久删除 -->
<delete id="delByid">
delete from boke where id=#{id} ;
</delete>
<!-- 查询正常数据-->
<select id="list" resultType="com.bwie.pojo.Boke">
select * from boke where state=1;
</select>
<!-- 查询回收站数据-->
<select id="hlist" resultType="com.bwie.pojo.Boke">
select * from boke where state=2;
</select>
</mapper>
6:sql表
/*
Navicat Premium Data Transfer
Source Server : localhost_3306
Source Server Type : MySQL
Source Server Version : 50557
Source Host : localhost:3306
Source Schema : boot
Target Server Type : MySQL
Target Server Version : 50557
File Encoding : 65001
Date: 21/12/2021 20:34:42
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for boke
-- ----------------------------
DROP TABLE IF EXISTS `boke`;
CREATE TABLE `boke` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`nei` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`state` int(10) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of boke
-- ----------------------------
INSERT INTO `boke` VALUES (1, 'spring', 'spring全家桶', 1);
INSERT INTO `boke` VALUES (2, 'java', 'java第一', 1);
INSERT INTO `boke` VALUES (3, 'redis', '百万并发', 1);
SET FOREIGN_KEY_CHECKS = 1;