发表于: 2017-07-28 23:54:45
1 999
今天完成的事情:
1. 写完其他接口
2. JSP的显示
3. 规范代码
明天计划的事情:
1. SVN
2. 学习Json
3. 任务二小结
遇到的问题:
1. mysql和JAVA的字段之间驼峰命名法与下划线之间的转化问题
可以在mysql语句中段后加别名
SELECT know_from knowFrom,create_at createAt,update_at updateAtFROM student WHERE user_id = #{userId}
2. JSP只能用POST和GET的方式,有三种解决办法
1. 让转发变为重新定位页面,带来问题是不能保存当前页面的状态,例如登陆状态
2. 重写request的get方法,水平不到(菜鸡)
3. 用tomcat7 ,我用的jetty,改天尝试一下
收获:
1. 写完其他接口
删除接口:
@RequestMapping(value = "/a/student/delete/{userId}",method = RequestMethod.DELETE)
public String delete(HttpServletRequest request, HttpServletResponse response,Model model,@PathVariable("userId") String userId){
try {
logger.info("这是删除学生信息");
logger.info("userId : "+ userId);
//返回影响的记录
int i = studyService.studyDelete(userId);
logger.info("这是删除学生信息返回:" + i);
查询所有学生信息:
//所有学生信息查询
@RequestMapping(value = "/a/student/all",method = RequestMethod.GET)
public String all(HttpServletRequest request, HttpServletResponse response,Model model){
try {
logger.info("这是查询所有学生信息");
List<Student> study = studyService.studentAll();
logger.info("studylist:" + study);
//返回影响的记录
int i = study.size();
logger.info("这是学生信息返回:" + i);
//信息添加到model
model.addAttribute("study",study);
2. JSP的显示
forEach读取表单的信息,可以输出一个List
<c:forEach items="${study}" var="study" varStatus="st">
<tr>
<td>name:${study.name}</td>
<p>user_id:${study.userId}</p>
<p>study_type:${study.studyType}</p>
<p>qq:${study.qq}</p>
<p>entry_data:${study.entryData}</p>
<p>graduated:${study.graduated}</p>
<p>url:${study.url}</p>
<p>wish:${study.wish}</p>
<p>know_from:${study.knowFrom}</p>
</tr>
</c:forEach>
3. 规范代码
写注释,修改代码中的下划线变量,在此期间遇到了命名法之间的转换问题,还有几种方法,需要以后研究。
4. spring中的配置
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 扫描路径如果有多个包要 扫描,包中间使用半角逗号隔开 -->
<property name="basePackage" value="com.tasktwo.dao.StudentMapper"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
和下面的配合使用
<!-- 二、创建mybatis会话工厂 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
<property name="mapperLocations" value="classpath:StudentMapper.xml" />
</bean>
解决mybtis中的语句和接口的映射问题可以。
5. resulMap可以打通数据库和sql之间的链接
<resultMap id="Student" type="com.tasktwo.model.Student" >
<result column="user_id" property="userId" jdbcType="CHAR" />
<result column="name" property="name" jdbcType="CHAR" />
<result column="study_type" property="studyType" jdbcType="int" />
<result column="qq" property="qq" jdbcType="int" />
<result column="entry_data" property="entryData" jdbcType="BIGINT" />
<result column="graduated" property="graduated" jdbcType="VARCHAR" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="wish" property="wish" jdbcType="CHAR" />
<result column="know_from" property="knowFrom" jdbcType="VARCHAR" />
<result column="create_at" property="createAt" jdbcType="BIGINT" />
<result column="update_at" property="updateAt" jdbcType="BIGINT" />
</resultMap>
<select id="studySelect" parameterType="String" resultMap="Student">
SELECT user_id,name,study_type,qq,entry_data,graduated,url,wish,know_from,create_at,update_at FROM student WHERE user_id = #{userId}
</select>
参考资料
[Mybatis] Mybatis处理列名->字段名映射(二) - AS用法 & ResultMap
PS:收尾任务二
评论