发表于: 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:收尾任务二





返回列表 返回列表
评论

    分享到