您的位置:首页 > 数据库

工作笔记(一)关于mybatis动态sql,MultipartFile,jsp页面404

2018-02-07 00:00 375 查看
摘要: 工作中碰到的具体问题

第一、关于mybatis动态sql逗号处理的方法
UPDATE
b_scene_info
<trim prefix="set" suffixOverrides=",">
<if test="sceneName!=null">
scene_name=#{sceneName,jdbcType=VARCHAR},
</if>
<if test="sceneState!=null">
scene_state=#{sceneState,jdbcType=VARCHAR},
</if>
<if test="sceneType!=null">
scene_type=#{sceneType,jdbcType=VARCHAR},
</if>
<if test="stateFlag!=null">
state_flag=#{stateFlag,jdbcType=VARCHAR},
</if>
<if test="seedInterfaceTable!=null">
seed_interface_table=#{seedInterfaceTable,jdbcType=VARCHAR},
</if>
<if test="seedDateCycle!=null">
seed_date_cycle=#{seedDateCycle,jdbcType=VARCHAR},
</if>
<if test="candInterfaceTable!=null">
cand_interface_table=#{candInterfaceTable,jdbcType=VARCHAR},
</if>
<if test="candDateCycle!=null">
cand_date_cycle=#{candDateCycle,jdbcType=VARCHAR},
</if>
<if test="createDate!=null">
create_date=#{createDate,jdbcType=VARCHAR},
</if>
<if test="updateDate!=null">
update_date=#{updateDate,jdbcType=VARCHAR},
</if>
</trim>
WHERE
s_Id=#{sId,jdbcType=BIGINT}
遇到的坑:
1、<trim prefix="set" suffixOverrides=",">代替了SET关键词
2、最后一个值后面也要加上逗号(这个纯属自己失误)
第二、关于springMVC一种404错误的原因
JSP 页面form表单通过name传过来的值在后台用实体接收只能用String 与 int,其他的数据类型如Date使用代码转换(有时候想不起来)
第三、关于form传送file类型的值 后台使用 MultipartFile接收的方法
前台代码:
<form action="<%=request.getContextPath() %>/taskInfo/taskSave.do" id="taskSave" enctype="multipart/form-data" method="post">
<input type="file" class="file" name="file" id="seedFile">
<input type="file" class="file" name="file" id="candFile">
</form>
后台代码:
public String taskSave(HttpServletRequest request,TaskInfo taskInfo,@RequestParam MultipartFile[] file) {
for (int i = 0; i < file.length; i++) {
String pathType = i==0 ? "seedFilePath" : "candFilePath" ;
String fileType = i==0 ? "hc_seed_" : "hc_cand_";
//上传地址配置
String path = contPath + File.separator + "datafiles" + File.separator + "file" + taskInfo.gettId() + propertyUtil.getProperty(pathType).replace("/", File.separator);
String fileName= fileType +taskInfo.gettId()+".txt";
targetFile = new File(path, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
//文件上传
file[i].transferTo(targetFile);
if(i==0){
taskInfo.setSeedPath(path + fileName);
taskInfo.setSeedNum(propertyUtil.readFileLine(targetFile));
}else{
taskInfo.setCandPath(path + fileName);
taskInfo.setCandNum(propertyUtil.readFileLine(targetFile));
}
}
}
遇到的坑:
1、enctype="multipart/form-data" ,form这个属性必须有
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息