oracle + ssm 项目重构遇到的问题及解决方法

1.遇到了个异常:

javax.servlet.ServletException: No adapter for handler [public int com.picc.ecargo.controller.addititive.AddititiveController.addititiveSubmit(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse,org.springframework.ui.ModelMap,com.picc.ecargo.vo.addititive.AddititiveVo) throws java.lang.Exception]: Does your handler implement a supported interface like Controller?

导致这个异常出现的问题比较多,我说一下自己出现问题的原因:

我是用ssm框架,用的注解,在传递表单里面的参数时,要用到实体类AddititiveVo,一开始我是没加@ResponseBody注解,所以报这个错误了,后来去网上搜,也没什么结果,偶尔发现,其他的方法都有这个注解,唯独这个方法没有,所以加上了,然后就没问题了

	public @ResponseBody int addititiveSubmit(HttpServletRequest request,HttpServletResponse response ,ModelMap map,AddititiveVo avo)throws Exception{

那么来扩展一下,@ResponseBody这个注解的作用:

作用: 

      i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;

      ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。


当然导致这个异常的原因也很多:比如类名和包名不小心写错了,没加@controller注解.......不一一去说了,以后遇到类似的情况,再更新文章


2.返回的数据应该是个List<实体类A>时,xml中select中的resulttype怎么写

resulttype直接写成resulttype="实体类A"就可以,不用管是不是list,只要是一个类型的就可以


3.批量查询数据ssm框架中在xml中怎么写那?

前端:接受参数是个类似这样的字符串:"110,120,119,10086"

<form id = "clauseSubmit" action="${basePath}/addititive/addititiveSubmit.do" method = "post">
					<select multiple="multiple" id="additivenotpass" class="form-control list-group" name="additivenotpass"  style="width:300px;height:375px;">
						<#if notPassCaluseName??>
							<#list notPassCaluseName as caluseName>
								<option id="${caluseName.additionalriskid}" name="caluseName" value="${caluseName.additionalriskid}">${caluseName.clausecname}</option>
							</#list>
						<#else>
						</#if> 
					</select>
				</form>
XML:将字符串分割了
<select id="findListByNumberY" resultType="com.picc.ecargo.po.riskcode.FreightAdditiveClauseCode"  >
	    select
	    *
	    from AdditionalRiskCode
	    where 
	    INSURANCETYPE = '1'
	    and ADDITIONALRISKID not in
	    <foreach item="item" index="index" collection="array"    open="(" separator="," close=")">
	      #{item}
	    </foreach>
  	</select>

4.创建序列

create sequence seq_newsId
increment by 1
start with 1
maxvalue 999999999;

5.oracle中字段类型是Date的,实体类也是Date的,要set时间的时候,这个时间的格式....?

推荐一个工具类:

public class DataUtil {
	public static Date SysTime() {
		String Nowtime = new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
		java.sql.Date time = java.sql.Date.valueOf(Nowtime);
		return time;
	}
}

6.在重构项目时,可能涉及到表的修改,这时候应该有冗余字段,方便以后做功能扩展


7.oracle改表名

ALTER TABLE old_table_name RENAME TO new_table_name;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值