个人阶段总结

做健康管理系统的一些总结

数据库表之间的关系处理

1 多对多关系

多对多: 映射:

主表 (aid ) 中间表(id 主键,2个字段 aid bid联合主键 ) 主表(bid)

新增: 先 添加主表aid,并且得到b主表的id, 再去添加 中间表的aid 和bid

删除: 先 删除中间的 关联关系, 再去删除 主表的 id

查询: 查询对应项: 先得到一张主表的id , 作为关联条件, 利用中间表查另一张主表的数据(用集合去装载),

返回给主页面.

修改: 根据id 先去 删除 中间表 的id的关联关系,再去修改主表的的 数据 id, 再去中间表建立 新的关联关系.

2 查询前台 多对多关系

显示:

首先发送ajax 查询到这张表本身的一些信息,回显到页面

其次 发送axios查询所有的关联项 显示 内部再 发送一次ajax 查到关联的关系 利用中间表. 所有的关联项查到

赋值给复选框 表示选中…

3 服务器查错

jvm 信息 与线程 监视 快速定位问题 arthas

java -jar arthas-boot.jar 启动 arthas dashboard查看GC 信息 堆栈 Eden区 survivor1 survivor2 的 占用信息

CPU 占用信息 ==== > 快速线上 排查问题

CAS : lock cmpxchg (汇编指令)

4 散课

ApachPOI 用来操作EXcel 表格, 他封装了 几个核心 的对象 供我们来使用:

XSSFWorkBook: 工作簿 代表的是Excel 文件对象

XSSFSheet : 代表Excel 中的 区域对象

row : 每一行数据

cell: 每一个细胞数据 , 单个数据

mysql + mybatis 实现 有就更新 无就添加的操作:

sql需要有主键 , INSERT INTO t_ordersetting(id,orderDate,number,reservations) VALUES(10,NULL,15,18) ON DUPLICATE KEY UPDATE reservations=14;

mybatis mapper参数类型传入的是一个参数 反正 最外层的包装不用,就是说第二层包装属性可以直接获得. 获得 里面的加 .

redis JdeisPool 获得连接资源 getresources connect 最后需要去归还 connect.close();

bug记录: 业务逻辑方面 稍后总结

如果我们用的是 JDK8以上可以DateTimeFormatter 代替 SimpleDateFormat
因为DateTimeFormatter 底层 使用了 LOCK 指令 是CAS compareandExchange 保证了 线程的安全性

mapper映射文件中parameterType是多个如何传参

使用注解,@param

queryUserByuserNameAndPass(@param(''userName")String userName,@param("password")String password)
 

<select id="queryUserByuserNameAndPass"  resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//

</select>


锁升级稍后会讲



## FreeMarker

页面静态化技术

模板template + 文件.ftl   + 指令(if assign )

创建一个配置对象, 

设置模板文件所在的目录,

设置配置对象的字符集

加载模板文件( 配置对象getTemplate()  );

准备模板文件中所需要的数据,  用map封装

创建一个输出流, 需要指定流的编码 utf-8 装饰者 模式

调用api process(map,writer)

关流





**assign 指令**

<#assign linkname= />

${linkname}

<#assign a ={b:“123”…} />

${a.b}


**include 指令**

<#include …/> 导入其他文件


**if 与else指令**

```xml
<#if 键名 = ...> 

<#else /if>
    
    

list指令

 <# list  alist as b >

${b.c}




		

用户预约的业务逻辑分析

1 判断当天是否有设置 可预约? 没有设置预约信息 则不可预约

2 判断当天预约的余量是否充足

3 判断用户是否重复预约 = 同一个用户在同一天 预约同一个套餐

4 检查用户是会员 不是就直接完成会员的注册…

5 预约成功 已预约人数+1

关于接口的调试

刚刚一直没办法调起这个controller的接口,验证 了 一下地址没有错误,一直以为是后端的问题. 后来发现dispatcherservlet 中 加载了一个地址*.do 去比对了一下前台h5的地址,发现地址不对AXIOS 请求 少加了.do … 用了很多种工具去测试 , postman 用了 感觉不太好 idea 自身有集成 接口调试工具 建议使用idea自带的
个人阶段总结_第1张图片

你可能感兴趣的:(总结)