发表于: 2016-08-24 11:58:33
4 2486
【完成任务】
1. 将CSS的Task10和Task11改为jsp页面
把班级,弟子和时间改为动态数据
2. 在数据库中建了两张表
create table class_student(
class_id bigint primary key auto_increment,
class_name varchar(255) not null,
class_number int not null default 0,
student_number bigint not null
);
Create table student(
id bigint primary key auto_increment,
name varchar(255) not null,
gender varchar(20) not null,
age int check(age>0),
profession varchar(255) not null,
class_number int not null,
create_at long,
update_at long
);
插入了一堆测试用的数据
3. 接下来就是按照springmvc+mybatis的流程操作一遍就欧了
在dao里面加两个方法
在serviceImpl里面实现一下
再controller里面将数据传入modelAndView然后返回给tiles的视图解析器就行了
启动tomcat然后访问
4. 啃完了《Head First SQL》,里面介绍了常用的sql语句,如select,update,insert,delete及拓展应用,配合函数,子查询等完成一些复杂的数据库操作。也讲了数据库表的设计原则(1NF,2NF,3NF),引出外键,联接,多表查询以及数据库不同账户的权限分配问题。受益匪浅,等出差回来好好的写写读书笔记总结一下。
Head First系列真是入门级的好书,语言生动且中二,看着跟玩试的,妈妈再也不用担心我的学习了,推荐大家打基础的时候可以多看看。
Head First系列中文版全集(共14本)加嗨翻C 链接:
http://pan.baidu.com/s/1o8TLotc
【遇到问题】
1. 静态资源被DispatcherServlet拦截,导致页面无法正常显示。
写jsp的时候页面老是显示不出来
原因:处理器适配器运行完controller后返回的modelAndView是返给dispatcherServlet的,如果其拦截路径配置的是/,
那么dispatcherServlet会将所有的静态资源拦截(静态资源都是xx/xx/xx.xx),然后不传给viewResolver。ViewResolver表示很郁闷,一个静态资源都不给我。然后显示的页面啥格式都没有。
解决方法:
将dispatcherServlet的拦截路径配置成*.do或者*.action可以解决这个问题,但是不能土工RESTful风格的接口,所以还是不推荐用了。
Spring 3.0.4过后提供了这个设置防止dispatcherServlet拦截静态资源:
<mvc:annotation-driven />
<mvc:resources mapping="/resouces/**” location="/resouces/"/>
解答:http://www.cnblogs.com/shanheyongmu/p/5552034.html
配置完后重启访问就是这个样子了。
2. 将studentDao里的getClassCount()和getStudentCount()写成一个getTableItemCount()
看着这两个方法我总觉得可以写成一个方法:
这样的话getTableItemCount(),更为通用些,只要传入表名和列名就可以计数了。
不过mybatis的配置的<select>等方法只能传入一个参数:
仿照这个方式,新建一个TableColumnName类及getter、setter方法。
然后studentServiceImpl实现一下在controller里面调用
然后就华丽丽的报错了。
Jdbc说你给我个什么鬼就让我执行。应该是mybatis里面的sql语句配置不对。
在我写日报这刻,灵感突涌。该不会不该用#{},该用${}吧。试了一试。
我擦勒,真的通了。
原来是#{}和${}的区别。用空再研究研究。
唐浩来找我出发了,要开车了同志们。等我回来再继续写吧。
【目前收获】
1. 学习了tiles框架
2. 学习了jsp
3. 学习了mySql
【后续安排】
1. 在火车上看看《Head First Servlet JSP》
2. 萝卜多要开始了啊,爱燕窝我还没看那。好方。
评论