[TOC]
定义泛型:
定义一个类
确定泛型,使用List集合时,最好确定一下泛型的类型,但仍然不确定,使用?
必须在一个
中间
具体格式是:(两行两列)
| 标示行中的一个列,需要嵌套在 |
3
当中的,嵌套在
| 和 | 一样,也是需要嵌套在 |
|---|---|
… 定义表头单元格。表格中的文字将以粗体显示,在表格中也可以不用此标签,标签必须放在标签内
… 定义一行标签,一组行标签内可以建立多组由或标签所定义的单元格
… 定义单元格标签,一组标签将将建立一个单元格,标签必须放在标签内
=============================================================================
===================================================================================================
引入封装jdbc框架
左侧使用layui-tree组件
1. 提供一个html标签,用来展示tree结构
2. js代码中使用tree组件,设置数据结构,显示
注意:需要使用的layui.js 而不是 layui-all.js
注意:如何实现点击菜单,发送相应的请求
* 设计数据结构时,将菜单名称改成带超链接的名称
var data1 = [{
title: ‘权限管理’
,id: 1
,children: [{
title: ‘用户管理‘
,id: 1000
}]
….
- 用户列表展示
点击左侧的用户管理,右侧展示用户信息列表
展示列表需要一个页面
表面上看好像是点击菜单,访问显示一个页面
但实际上,页面本身没有数据,要展示的数据从数据库来
所以点击左侧的菜单,需要先发送一个查询数据的请求,让controller负责处理。
查询用户信息时,要分页查询
分页表现的效果,就是每页只显示一部分数据,通过调整页码,显示不同的数据
优点:提高查询效率。
分页查询的时候需要知道要查询的是哪一页的数据 , 还需要知道这一页要查询几条记录
首次访问列表页时,默认查询第1页数据
未来分页时,每次都要传递页码和记录数(但不确定页码是否有效)
用户管理
——-
public PageInfo findUserByPage(int page , int rows){
//先做一个判断,确保页码是有效的
//下限判断
if(page < 1){
page = 1;
}
//上限判断
//先知道最大是多少页 总记录数/rows
//从数据库查询总记录数
int total =dao.total();
int max = total%rows==0?(total/rows):(total/rows + 1) ; // 101/10 = 10 + 1 . 0/10==0
max = max==0?1:max ;
if(page > max){
page = max ;
}
//确保page一定是正确的
//就可以查询这一页的数据了
//需要从数据库查询这一页的数据
//数据库的分页,使用limit关键字,需要的是start和length
/
———mysql——-
第1页 从0开始 取10条
第2页 从10开始 取10条
第3页 从20开始 取10条
…
第n页 从(n-1)10开始 取10条
——-oracle——-
第1页 从1开始 取到10
第2页 从11开始 取到20
。。。
/
/
分页有两种情况:
真分页 : 每页数据都需要从数据中获取,优点,每次只取部分数据,速度快。但多次分页需要多次与数据库交互
假分页 : 从数据库取出所有记录,每页显示不同部分。单次速度慢,多次分页缓存区,效率高。不利于频繁读写
/
int start = (page-1)*rows ;
int length = rows ;
Listusers = dao.findUserByPage(start,length);
return new PageInfo(page , rows,total,max,start,(start+rows-1) , users) ;
}
=====================
