黑马程序员——day13数据库分页
来源:互联网 发布:java 继承泛型类 编辑:程序博客网 时间:2024/05/16 10:41
今天的课听的我太晕了,一个客户管理系统让我之前的一些东西都忘记了,然后讲了个数据库分页,乱死了。珽哥说今天还不算什么,明天有点难度,我怕我真是跟不上了,几个小项目没一个能自己全写出来的。还有3天的课就放假了,过年不回家了(23年来第一次不回家过年,有点对不起亲人们,不过这一切都是值得的),把这些东西都复习复习,项目都弄懂它。今晚搞到2点,明天还得交代码,上帝保佑吧。
珽哥,猥琐界的一朵奇葩,今天吃饭睡觉看娜姐那段子,各种小幽默,各种小邪恶。
一、客户管理系统(web项目CRUD)
二、大数据分页(有难度)
1、MySQL对分页的支持:
SELECT * FROM customer LIMIT m,n;
m:每页第一条记录的索引。(第一页的第一条的索引号是0)
n:每页显示的条数
每页显示10条
第一页:SELECT * FROM customer LIMIT 0,10;
第二页:SELECT * FROM customer LIMIT 10,10;
第三页:SELECT * FROM customer LIMIT 20,10;
每页开始的记录索引=(当前页码-1)*10;
总共多少页?
总页数=总记录数%10==0?总记录数/10:总记录数/10+1
2、改造Dao
只能做2件事:
a、查询出记录的总条数
b、根据索引和每页显示的条数查出记录
/**
* 获取记录的总条数
* @return
*/
int getTotalRecords();
/**
* 查询分页数据
* @param startindex 每页开始记录的索引
* @param pagesize 每页显示条数
* @return
*/
List<Customer> findPageCustomers(int startindex,int pagesize);
3、引入一个与分页有关的类:Page
所有与分页有关的数据都找Page要。
private List records;//页面显示的分页数据 Dao可以查出来
private int pagenum;//当前页码 用户可以传进来 *
private int totalpage;//总页数 可以算出来 *
private int pagesize=10;//每页显示的记录条数 *
private int startindex;//每页开始记录的索引 可以算出来 *
private int totalrecords;//总记录数 *
public Page(int pagenum,int totalrecords){
this.pagenum = pagenum;
this.totalrecords = totalrecords;
//计算总页数
totalpage = totalrecords%pagesize==0?totalrecords/pagesize:(totalrecords/pagesize+1);
//计算每页开始记录的索引
startindex = (pagenum-1)*pagesize;
}
4、改造Service
客户端只能传递一个页码过来,没有的话默认查第1页数据;
所有的分页有关数据都封装到Page对象。
/**
* 查询分页数据
* @param pagenum 字符串类型的页码
* @return 封装了分页数据的Page对象
*/
Page findPageRecords(String pagenum);
5、改造Servlet层
三、大数据存取:Clob Blob存取
存取都是基于IO流
实际开发中不用:解决方案,文件上传和下载。
四、批处理
五、获取数据库自动生成主键
六、调用存储过程
七、事务入门(TPL)
八、事务的概念
九、事务的隔离级别(有难度)
- 黑马程序员——day13数据库分页
- 黑马程序员————String(day13)
- 黑马程序员——day13字符串String的使用
- 黑马day13 分页思路&实现
- 黑马程序员_java基础day13
- 黑马程序员-Java API-day13
- 黑马程序员-day13-String类
- 黑马程序员-day13字符串String
- 黑马程序员--Java基础Day13
- 黑马程序员-day13-正则表达式
- 黑马程序员_java高级篇泛型篇Day13
- 黑马程序员 Java学习笔记 (day13)
- 黑马程序员_Oracle 数据库分页功能原理
- 黑马程序员—数据库函数
- Day13持久化存储——SQLite数据库存储
- 黑马程序员-day13-基本数据类型对象包装类
- 黑马程序员_Java基础_我的Day13学习笔记
- 黑马程序员——数据库数据操作
- VS2005(VS2008)与VC6.0的几点区别
- 解决Jenkins分布式编译iOS代码时,出现"User interaction is not allowed"
- syslog(),openlog(),closelog()
- 与Eliza的第一次谈话
- iotop
- 黑马程序员——day13数据库分页
- 微内核与巨内核
- Android类说明---ArrayAdapter
- 如何编译Glassfish v3 Open Source
- 明天2月
- 哪本书是对程序员最有影响、每个程序员都该阅读的书?
- HTTP协议详解
- win8安装MS Sql Server 2005 服务无法启动解决方案
- 百度的搜索输入提示