发表于: 2017-08-19 20:01:30

1 964


今天完成的事情:

因为逆向生成的代码比自己的规范,所以还是换成逆向生成代码的方法写了

目的实现:列出所有数据,按id查询,按id删除数据,新增数据,按id修改数据

接口如下:

public interface UserService {
//列出所有数据
   List<User> getUserList();
//按id查询
   User getUserById(Long id);
//按id删除数据
   void deleteById(Long id);
//按id修改数据
   void updateById(User user);
//新增数据
   void insert(User user);
}

实现如下:

@Service
public class UserServiceImpl implements UserService {

@Autowired
   UserMapper userMapper;

//列出所有数据
   @Override
   public List<User> getUserList(){
UserExample example = new UserExample();
List<User> list = userMapper.selectByExample(example);
return list;
}

//按id查询
   public User getUserById(Long id){ return userMapper.selectByPrimaryKey(id);}

//按id删除数据
   @Override
   public void deleteById(Long id){
userMapper.deleteByPrimaryKey(id);
}

//按id修改数据
   @Override
   public void updateById(User user){ int i = userMapper.updateByPrimaryKey(user); }

//新增数据
   @Override
   public  void insert(User user){
userMapper.insert(user);
}
}

控制器和jsp卡了很久很久,今天终于仿写成功,参考,https://github.com/zhendiao/SpringMVCCRUDDemo

控制器如下:

@Controller
@RequestMapping("/user")
public class UserController {

@Autowired
   UserService userService;

//查询所有
   @RequestMapping("/list")
public String UserList(Model model){
List<User> list =userService.getUserList();
//传递数据至前端
       model.addAttribute("list",list);
//返回对应视图
       return "itemsList";
}

//按id查询
   @RequestMapping("/edit")
public String Edit(Long id,Model model)
{
User user=userService.getUserById(id);
model.addAttribute("item",user);
return "editItem";
}

//按id删除数据
   @RequestMapping("/deleteByID")
public String deleteByID(Long id)
{

userService.deleteById(id);
return "redirect:list";
}

//按Id修改数据
   @RequestMapping(value ="/saveOrUpdate",method = RequestMethod.POST)
public String saveOrUpdate(User user)
{
userService.updateById(user);
return "redirect:list";
}

//新增数据
   @RequestMapping("/add")
public String Add()
{
return "AddUser";
}
//
   @RequestMapping("/addUser")
public String Insert(User user)
{
userService.insert(user);
return "redirect:list";
}
}

3个jsp,AddUser:

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改用户信息</title>
</head>
<body>
<form id="itemForm" action="${pageContext.request.contextPath }/user/addUser" method="post">
用户信息:
<table width="100%" border=1>
<tr>
<td>姓名</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>QQ</td>
<td><input type="text" name="qq"/></td>
</tr>
<tr>
<td>修真类型</td>
<td><input type="text" name="type"  /></td>
</tr>
<tr>
<td>预计入学时间</td>
<td><input type="text" name="time"/></td>
</tr>
<tr>
<td>毕业院校</td>
<td><input type="text" name="graduateSchool"/></td>
</tr>
<tr>
<td>线上(jnshu.com)学号</td>
<td><input type="text" name="user.studentNumber"/></td>
</tr>
<tr>
<td>日报链接</td>
<td><input type="text" name="dailyLink"/></td>
</tr>
<tr>
<td>立愿</td>
<td><input type="text" name="hope"/></td>
</tr>
<tr>
<td>辅导师兄</td>
<td><input type="text" name="teacher"/></td>
</tr>
<tr>
<td>从何处了解到的修真院</td>
<td><input type="text" name="knowFrom"/></td>
</tr>
<tr>
<td>创建时间</td>
<td><input type="text" name="createAt"/></td>
</tr>
<tr>
<td>修改时间</td>
<td><input type="text" name="updateAt"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交"/>
</td>
</tr>
</table>
</form>
</body>
</html>

editItem

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改用户信息</title>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.form.js"></script>
</head>
<body>
<form id="itemForm" action="${pageContext.request.contextPath }/user/saveOrUpdate" method="post">
<input type="hidden" name="iduser" value="${user.id }"/>
修改用户信息:
<table width="100%" border=1>
<tr>
<td>姓名</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>QQ</td>
<td><input type="text" name="qq"/></td>
</tr>
<tr>
<td>修真类型</td>
<td><input type="text" name="type"  /></td>
</tr>
<tr>
<td>预计入学时间</td>
<td><input type="text" name="time"/></td>
</tr>
<tr>
<td>毕业院校</td>
<td><input type="text" name="graduateSchool"/></td>
</tr>
<tr>
<td>线上(jnshu.com)学号</td>
<td><input type="text" name="user.studentNumber"/></td>
</tr>
<tr>
<td>日报链接</td>
<td><input type="text" name="dailyLink"/></td>
</tr>
<tr>
<td>立愿</td>
<td><input type="text" name="hope"/></td>
</tr>
<tr>
<td>辅导师兄</td>
<td><input type="text" name="teacher"/></td>
</tr>
<tr>
<td>从何处了解到的修真院</td>
<td><input type="text" name="knowFrom"/></td>
</tr>
<tr>
<td>创建时间</td>
<td><input type="text" name="createAt"/></td>
</tr>
<tr>
<td>修改时间</td>
<td><input type="text" name="updateAt"/></td>
</tr>

<tr>
<td colspan="2" align="center"><input type="submit" value="提交"/>
</td>
</tr>
</table>
</form>
</body>
</html>

itemsList

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>查询用户列表</title>
</head>
<body>
<a href="${pageContext.request.contextPath }/user/add">添加</a>用户列表:
<table width="100%" border=1>
<tr>
<td>id</td>
<td>姓名</td>
<td>QQ</td>
<td>修真类型</td>
<td>预计入学时间</td>
<td>毕业院校</td>
<td>线上(jnshu.com)学号</td>
<td>日报链接</td>
<td>立愿</td>
<td>辅导师兄</td>
<td>从何处了解到的修真院</td>
<td>创建时间</td>
<td>修改时间</td>
<td>操作</td>
</tr>
<c:forEach items="${list}" var="user">
<tr>
<td>
<input type="checkbox" name="iduser" value="${user.id}">
</td>
<td>${user.name }</td>
<td>${user.qq }</td>
<td>${user.type}</td>
<td>${user.time }</td>
<td>${user.graduateSchool }</td>
<td>${user.studentNumber }</td>
<td>${user.dailyLink }</td>
<td>${user.hope }</td>
<td>${user.teacher }</td>
<td>${user.knowFrom }</td>
<td>${user.createAt }</td>
<td>${user.updateAt }</td>
<td><a href="${pageContext.request.contextPath }/user/edit?id=${user.id}">修改</a>
<a href="${pageContext.request.contextPath }/user/deleteByID?id=${user.id}">删除</a>
</td>
</tr>
</c:forEach>

运行效果(把表里的数据删的只剩下10条左右了)

列表,增,删可用,按id查连到了改的jsp无法实现,改提交后无效。


明天计划的事情:

完成按id修改数据功能,新写一个实现按id查询的jsp,根据任务要求修改内容,继续进行任务二后续

计划后面把链接改为

查询

/user/{id}

删除

/user/{id}/delete

更新

/user/{id}/update

列表

/user

遇到的问题:

这段控制器中改和增用到了一句 return "redirect:list"; 这段不理解,其他的都没问题

jsp还是漏洞很大,只能理解一小部分

开始任务二时看了rest风格接口,我就只理解为了链接的写法,不知道对不对。
收获:

前些天仿写代码,网页上展示数据库的部分一点都没能搞出来,参考了很多代码,现在有关ssm增删查改的服务层接口,实现掌握教熟,控制器有些漏洞,jsp多半头雾水。


返回列表 返回列表
评论

    分享到