发表于: 2017-09-25 23:21:57
2 819
一、今日完成
1.学习Java集合类的分类和常用方法
集合类主要负责保存、盛装其他数据,也称容器类。一般分为set、list、map和queue四类。其中set代表无序、不可重复的集合,list代表有序、可重复的集合,map代表具有映射关系对象的集合,queue代表队列集合。set、list和queue派生自collection接口,而Hashtable、HashMap和WeakHashMap派生自map接口,除了继承父接口的方法外,各自还有被定义了专属的方法用来对集合中的对象进行操作。
集合类与数组类的最大区别如下:
(1)数组必须声明对象类型,而集合不声明。
(2)数组是静态的,一个数组实例大小固定,一旦创建就无法改变容量了;而集合可以动态扩容,且不同的集合子接口提供了丰富的操作方法。
(3)数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以有多种。
(4)数组是线性排列的,执行或者检索效率都比较高。
2.学习Java集合类的分类和常用方法
(1)因为集合类无须声明对象类型,所以将一个对象放入集合中,运行时类型任然为其本身类型,但是当再次从集合中取出时,其编译类型变成了Object类型,而人为强制转化类型,容易出现“java.lang.ClassCastException”异常。
(2)泛型的本质是参数化类型,即把所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。引入泛型在编译的时候检查类型安全,可以将运行时错误提前到编译时错误。
1)当声明或者实例化一个泛型的对象时,必须指定类型参数的值:
Map<String, String> map = newHashMap<String, String>();
2)要定义泛型方法,只需将泛型参数列表置于返回值之前
public <T> void f(T x){
System.out.println(arg);
}
主要参考了网友的教程:http://blog.csdn.net/s10461/article/details/53941091
3.继续做任务4,编写controller
任务2中要求写REST风格的接口,对DELETE和PUT方法不甚了解,以为删除或者修改表里的记录必须使用DELETE与PUT方法,今天参考师兄日报,发现这些操作都可以由GET和POST来完成
//删除学生
@RequestMapping(value = "/delete/{id}",method =RequestMethod.GET)
public String deleteStudentById(@PathVariable("id")int id){
log.info("删除用户");
try{
studentService.deleteStudentById(id);
}catch (Exception e){
e.printStackTrace();
}
return "redirect:/student/list";
}
//修改学生
@RequestMapping(value="/update/{id}",method=RequestMethod.GET)
public String updateStudentById(@PathVariable("id")int id,Model model){
System.out.println("-------"+id);
log.info("修改学员信息");
model.addAttribute(id);
return "update";
}
@RequestMapping(value="/updateStu",method=RequestMethod.POST)
public String updateStndentByIdPost(@ModelAttribute("stu")Student stu){
long updateTime = System.currentTimeMillis();
stu.setUpdate_at(updateTime);
studentService.updateStudentById(stu);
System.out.println("----->"+stu);
log.info("修改成功");
return "redirect:/student/list";
}
说明自己对REST的用法理解不到位,还需要做任务之余,去学习和总结它。
4.下午被分院负责人召集就当前的学习情况开会讨论问题症结和解决方法,然后从4点左右一直停电,所以任务搁置。
二、明日计划
学习tiles框架,完成提交任务4。
三、遇到问题
开始做任务4时候,在dao层组件里采用JDBC Template对数据库进行增删改查,其中需要调用JdbcTemplate接口提供的update和query等方法来执行SQL语句,但是由于对方法传参和返回值类型等没弄清楚,一直卡了比较长的时间。后来改用在mybatis的mapper.xml中写SQL,感觉一下子省事不少,不用去一个个查找需要调用什么方法,返回值如何传递。
四、收获
以上。
禅道:http://task.ptteng.com/zentao/task-view-10368.html
今天完成并提交任务4.
评论