发表于: 2017-08-19 20:01:30
1 966
今天完成的事情:
因为逆向生成的代码比自己的规范,所以还是换成逆向生成代码的方法写了
目的实现:列出所有数据,按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多半头雾水。
评论