动不动是上课笔记

微信扫一扫,分享到朋友圈

动不动是上课笔记

1 做基本页面,先把数据导入,还有相关依赖,8个。

1.1首先改配置文件

2.1 先创建控制类,负责管理所有的页面请求。

可以启动测试了,看一看,基础页面是否搭建完成。

这是应该查询到 的界面,以及接下来的思路。日志管理就是一个dom元素。

接下来就是技术解决了。

点击发起异步请求。

操作:1 在starter.html注册事件。

先获取日志管理的Id(load-log-id),就是在F12界面打开去看。在这个按钮点击注册函数。下一句解析,jquery中load函数向服务器发送ajax函数,直接把url加载过来的函数更新指定的的那部分,如图红色点。

对应的写函数,下面有错,少写和箭头

那么url是哪一部分,加进去,要加载哪一部分到指定位置。

这个页面,希望放在templates,去处理,所以放那里。

这个目录下,是不能直接访问的,所以要去配置一个Controller了。

这个是页面请求,所有的页面请求都是在PageController里面。

操作:

对应希望到的路劲。可以启动测试。

日志列表页面加载完成,就是log-list,还希望日志页面j加载完成之后,在把分页页面显示在这里,局部刷新,ajax。回到PageController里添加一个返回的方法 这个是服务端,下面需要在客户端log-list。

log-list页面里是有一块区域来储存分页元素的

因为其他地方都需要用,所以写个函数拿出去。

让所有的都可以拿到分页页面,加载到doPageUI。作为全部的一部分,所以可以使用$.

优化版写法,js加载后,在去实现这个函数。

操作:可以把

starter.html共性的提取出来,因为,都是加载不同模块的id,不日日志管理,菜单管理这些,所以可以提取共性,第二张代码。

在添加,只需要改括号里面就可以了。选择目标,可以基于id去选,也可以在class后面的就是类选择器,可以拿一个也可以拿两个!看不懂,去F12写一写

bc2735d75c10d802a8988254dad339d.png

那个#id就是上面那个load—log-id一样的

跟着时序图去写。

下面是一样的写法

接下做的步骤!

设计原理:

从数据层开始写,放在一个pojo里面去储存,通过list去,不是把所有记录都取出来,按页去取,因为不可能把所有记录都显示出来,那就得计算分页,那么就需要总记录数,先把总记录数取出来,才能分页。@Repository是形容类,代表是在数据层pojo。数据层要返回业务层接口那边,在业务层就涉及到了计算,给了一个总记录数就能计算总页数。在业务层收到了List集合和row count两个数据所以还需要进行封装(也可以用map)。list是传到了业务层,接口这边,业务层返回到控制层也需要进行数据封装,因为还有错误的数据,是正常还是错误,所以也需要封装。让客户端需要辨识出来,加一个状态码。

当前页是基于点击事件,进行改变的,比如首页,上一页,下一页,尾页,而总记录数是数据库总记录数,总页数根据总记录数去计算,不是查询出来的。

操作:1 封装数据库返回数据!所有封装进行序列化接口,将对象转化为字节方便储存或传输 d0e6b84ae02b99ae079d1d0f655fb05.png

2接口

这个是需要查询出来的

一行记录映射一个对象,参数的设计应该有它的名字,起始位置,从哪里开始查,根据别设计写。

3建立映射文件

所以的select都必须有一个resultType,这是一行映射一个记录的意思

名字跟记录相匹配的,就记录一下。

limit从什么位置开始取,去几条。

order by降序排序

可以提取共性, 可以测试。

建立测试类

取出admit的记录,从0开始,拿3条

g](/img/bVbOIk1)

数据层结束,开始业务层。

操作:在接口写查询方法。参数,返回值的思考看

客户端会传什么值,比如当前的页码,用户名啊。不知道返回值是啥就用Object。

这个返回值要封装数据层返回的数据,以及经过计算的页码值,所以可以创建一个对象,在建立一个类(解决要返回的值)。如果返回值很大。int值满足不了,可以改long。

records当前页记录。psgeCount总页数,rowCount总记录数,需要计算总页数还需要一个每页显示多少记录pageSize.还会显示当前页码值。

优化:让其它除了日志模块也可使用!

1599985608(1).png

变成泛型类

T就是一个变量!,以后可以写多个

对应的也要改,传进来的是SysLog!这个返回值就是封装查询和计算结果的一个分页对象

1599989507(1).png

继续操作:建立impl实现类

startIndex开始页的数,pageCurrent当前页码数,pageSize一页记录多少。然后需要封装这个数据,所以创建对象。通过算法求总页数,总记录数除以每页显示数。

返回的是po。

如果,拿到的结果是0,就没必要执行下面的程序,所以。username是可以为空的,而pageCurrent是不能为空的!这个抛出异常是非检查异常

1599990933.png

这个到运行时才会报错,所以创建一个类去继承RuntimeException,也要序列化,解决异常

可以按父类来生成构造函数

不知道就都生成。

要简化流程,在PageObject设置有参和无的构造函数,@NoArgsConstructor就是无参构造。因为这个其他的页码也是可以使用的 ,所以在公共最好。

放在构造方法内部去计算,意思是把计算那部分也放在公共里去

继续测试类测试

业务层把数据给控制层了,数据有对有错误的。

传统写法,为了给数据添加一个状态,增加一个类响应到控制端。 封装调用简单。

之后就可以改变返回值为JsonResult

进阶,不做try,catch的重复性工作,处理异常的web包,加特殊标记

。。。

测试方法

客户端的呈现

哪里需要呈现数据

页面加载完成之后还想进行加入页面操作直接加函数在原有位置。

在log_list页面在!




在配置页面,page.html文件下写公共的,通过类选择器获得数据。后面就是事件处理了。

微信扫一扫,分享到朋友圈

动不动是上课笔记

谈谈 mysql和oracle的使用感受 -- 差异

上一篇

判断语句和循环语句

下一篇

你也可能喜欢

动不动是上课笔记

长按储存图像,分享给朋友