发表于: 2017-08-31 22:43:05
1 845
今天完成的事情:本来提交了任务二 但是师兄提出了很多问题
首先来说 代码冗余无用代码太多 注释掉的东西太多了 没有删掉
写法混乱 不简洁
一些地方的逻辑判断有问题 比如增加 我是用model方法逐个字段增加
返回的也不是增加的数据
又因为是使用了表单 url等提交
使用了jsp c标签 json等返回 整体风格很混乱
rest风格也没有完整 加了很多混乱的东西
所以今天又改了一天的代码 终于让自己的代码看上去优雅了一点 必须都贴上
@Controller
public class UserController {
//使用日志
private static Logger log = Logger.getLogger(UserController.class);
//注入service
@Autowired
UserService userService;
//列表查询
@RequestMapping(value = "/a/student/userall", method = RequestMethod.GET)
public String allCategory( Model model) {
try {
log.info("查找所有用户信息");
List<User> userList = userService.list();
int i = userList.size();
log.info("当前用户数量为");
System.out.println(i);
model.addAttribute("user", userList);
log.info("运行成功 " + userList);
} catch (Exception e) {
e.printStackTrace();
log.info("出现异常");
return "common/errorJson";
}
return "category/listJson";
}
@RequestMapping(value = "/a/student/user", method = RequestMethod.GET)
public String detail1( Model model, Integer id) {
// 判断传入的id 是否为数据库中存在的
if (userService.get(id) != null) {
try {
log.info("根据id查询信息");
log.info("查询id是" + id);
User user = userService.get(id);
//将数据绑定到model上,可以传入jsp页面
model.addAttribute("category", user);
log.info("得到的信息为" + user);
} catch (Exception e) {
e.printStackTrace();
log.info("出现异常");
return "common/errorJson";
}
return "category/categoryDataliJson";
} else {
log.info("数据库中没有此信息");
return "common/errorParameterJson";
}
}
//增加
@RequestMapping(value = "/a/student/user", method = RequestMethod.POST)
public String save(Model model, User user) {
log.info("新增信息");
//根据字段添加属性
log.debug(user);
userService.add(user);
//再次查询 并且将其放入返回id的界面
User user2 = userService.get(user.getId());
//将数据绑定到model上,可以传入jsp页面
model.addAttribute("category", user2);
log.info("sucess");
return "category/categoryDataliJson";
}
//删除
@ResponseBody
@RequestMapping(value = "/a/student/user", method = RequestMethod.DELETE)
public String delete( int id) {
if (userService.get(id) != null) {
try {
userService.delete(id);
} catch (Exception e) {
e.printStackTrace();
return " error";
}
return "sucess";
} else {
log.info("数据库中没有此信息");
return "error";
}
}
//修改
@RequestMapping(value = "/a/student/user", method = RequestMethod.PUT)
public @ResponseBody
List<User> contrl2 (HttpServletRequest request, HttpServletResponse response, Model model, User user){
log.info("入参"+user);
User user1 = new User();
user1=userService.get(user.getId());
// int i=this.userService.update(user);
if(user.getName()!=null) {
user1.setName(user.getName());
} if(user.getQq()!=null) {
user1.setQq(user.getQq());
} if(user.getStyle()!=null) {
user1.setStyle(user.getStyle());
} if(user.getEstimated_time()!=null) {
user1.setEstimated_time(user.getEstimated_time());
} if(user.getGraduate_institutions()!=null) {
user1.setGraduate_institutions(user.getGraduate_institutions());
}if(user.getOnline_id()!=null) {
user1.setOnline_id(user.getOnline_id());
}if(user.getDaily_link()!=null) {
user1.setDaily_link(user.getDaily_link());
}if(user.getPledge()!=null) {
user1.setPledge(user.getPledge());
}if(user.getSenior_tutor()!=null) {
user1.setSenior_tutor(user.getSenior_tutor());
}if(user.getSource()!=null) {
user1.setSource(user.getSource());
}if(user.getCreate_at()!=null) {
user1.setCreate_at(user.getCreate_at());
} if(user.getUpdata_at()!=null) {
user1.setUpdata_at(user.getUpdata_at());
}
userService.update(user1);
log.info("出参"+user1);
List<User> list=new ArrayList<User>();
list.add(user1);
log.info("list"+list);
return list;
}
}
怎么会自动顶格了啊
完全按照了实际需求 来写 不过更新写的还是不够好
使用postman测试完全成功 自己写的相关注释也没问题 相关跳转也没问题
IDEA出了问题 重装了一遍 回顾了一下他的基础设置
明天计划的事情:抓紧时间做任务三 任务二拖了太久
遇到的问题:更改了很多逻辑 发现了很多问题
比如sql语句在xml里面是写死的
更新的时候 如果只更新一个字段 其他字段默认变成了空值
这个逻辑就研究了两个多小时
最后是先新增了一个类 根据id读取所有原有数据
然后逐个字段判断是否为空
原来判断为空 来执行 更新 打出来正确数据 数据库失败
改成判断非空 更改相关字段到新增的那个类 然后更新 成功
收获:代码一定要简洁优雅 注释要写 一来出了问题自己可以看到问题在哪里
二来自己理清相关的思路 三来让别人理解
禅道链接 :http://task.ptteng.com/zentao/my-task.html
评论