距离上次撸码差不多快半年了,在上周迎来了来到公司四个月多的第一个新功能,手生到怀疑自己是不是没学过…记忆丢失…这里为恢复性总结.
—系统框架ssm, 只针对本公司系统业务总结, 部分通用;
- 时间回写直接给前端String即可, 具体看前端组件,方便的话还是与前端商量使用方便点;
- json可以直接扔给前端一个map,也可以扔一个json对象;
- 前端循环添加数据进后台实体类中的List-----一对多
-前端使用forEach中varstatus属性,如varstatus=“xh” xh.index 可以作为下标使用,
-当name值循环映射实体对象内List对象属性时,写法如下: 实体类中list: List list,
-name = “list[${xh.index}].属性”; - 关于一对多,List部分的修改,可以全删后再添加;
- 关于一对多添加,循环还是在java中运行吧,sql部分还是单表语句吧.
- mybatis标签善用可方便不少;
- 关于EL对象有时间还是多看看吧, 在前后端不分离时, jsp还是要会点儿的.
-param, 用于获取请求对象值, 即通过请求后台发送一个值,如: 接口?opt=xxx
-这时在本页使用${param.opt} 即可获取xxx值 - 写完接口后先绑定前台, 哪个数据不显示, 先检查DEBUG, 再在前台页面或者测试页面EL表达式输出下是否显示,如果 显示,那就是前台的问题了,postman也行,在页面显示求个放心而已.
- for循环向数据库插入数据有时会有数据丢失问题—见网上解答是频繁链接断开数据库导致,也没给出解决方案,
-我这里的场景是:
将一个实体对象的数据放入另外一个实体对象再存入数据库-- B.setXXX(A.getyyy())
-这里从组长那取到的经: zzz = A.getyyy(); B.setXXX(zzz);
-没错就是取出来赋给一个值再讲该值存入另一个实体对象; - 如果有多层引用,将公用部分抽成一个引用
A.B.C/A.B.D ------> E = A.B E.C/E.D
<selectKey keyProperty="要映射的属性名" resultType="映射值的属性" order="BEFORE">
select
SEQ_Witem.nextval as itemCd
from dual
</selectKey>
用于insert插入数据时返回我们需要的值,如插入时随机产生的id
-----------------------------------------------------------------------------
<sql id="AAA">xxxxx<sql>
在sql语句中使用<include refid="AAA"></include>
本次一对多映射, 出现无论如何都无法映射的问题,有一部分时间都砸在这上面,最后稀里糊涂的也就映射上去了,问题确实没找到,只能附上本次代码以记录;
以上只为个人理解与使用恢复, 有错误之处还请指正, 感谢!