------------------------------------------数据源和分页----------------------------------

数据源: DataSource
 创建连接交给连接池!
javax.sql.DataSource建立与数据库的链接!

数据库连接池:Connection  Poll
  01.负责管理和释放数据库连接的一个缓冲池技术!
  02.自动分配连接对象并对闲置的链接对象进行回收!
  03.连接池配置到Tomcat中的conf文件夹下面的context.xml文件

JNDI(Java  Naming And  Directory Interface)
java命名和目录接口!

我们之前使用JDBC技术连接数据库必须使用JDBC API!
现在使用数据源或者连接池的技术来访问数据库,必须使用 JNDI!

<Resource
name="jdbc/news"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/news?Unicode=true&characterEncoding=utf-8"
username="root"
password=""
/>

name:自定义的连接池名称,外部需要访问我们这个连接池,就是通过name属性值找到的!
auth:连接池被谁管理!Container容器! Tomcat
type:对象的类型
driverClassName :数据库的驱动类名
url:数据库的地址
username:登录数据库的用户名
password:登录数据库的密码
maxActive:连接池的最大数据库连接数量  ,最大并发访问的数量
minIdle: 最小空闲连接
maxIdle: 最小空闲连接
maxWait: 超时等待时间以毫秒为单位 

sql心跳:确保我们客户端的链接始终是有效的链接!

分页:
 01.获取总记录数
 02.SELECT * FROM news_detail  LIMIT 0,3
  显示新闻表中  从 第一条数据开始  ==》0    显示 3条   ===》页大小 pageSize

  问题?

  01.用户懂吗?
  02.用户只知道点击上一页,下一页...... 不知道 数据的起始位置
  03.我们必须把用户点击的当前页 , 转换成查询数据库中数据开始的位置(目的)

分析:

  01. 用户点击第1页  pageIndex=1
                 我们的sql语句怎么写
                    LIMIT 0,3

  02. 用户点击第2页  pageIndex=2
                 我们的sql语句怎么写
                    LIMIT 3,3

  03. 用户点击第3页  pageIndex=3
                 我们的sql语句怎么写
                    LIMIT 6,3

  3是每页显示的数量,页大小   pageSize

  我们数据开始的位置=(pageIndex-1)*pageSize
  
时间: 2024-11-05 04:15:37

------------------------------------------数据源和分页----------------------------------的相关文章

MySQL单表百万数据记录分页性能优化

原文地址:http://www.cnblogs.com/lyroge/p/3837886.html MySQL单表百万数据记录分页性能优化 背景: 自己的一个网站,由于单表的数据记录高达了一百万条,造成数据访问很慢,Google分析的后台经常报告超时,尤其是页码大的页面更是慢的不行. 测试环境: 先让我们熟悉下基本的sql语句,来查看下我们将要测试表的基本信息 use infomation_schemaSELECT * FROM TABLES WHERE TABLE_SCHEMA = 'dbna

JDBC数据源和连接池

数据库连接池就是在应用程序启动时就创建足够多的数据库连接池,在java程序中需要访问 数据库时就可以通过数据源取得一个空闲连接,用完在返还到连接池中 实例: 在Tomcat6.0中+MySQL5.5数据源和连接池的配置 (1)将数据库的JDBC驱动程序复制到<CATALINA_HOME>/common/lib目录下 (2)在<CATALINA_HOME>/conf/server.xml中配置数据源和连接池,例如 <Context path="/JSP_JDBC&qu

使用JDBC连接MySQL数据库--典型案例分析(八)----实现员工数据的分页查询

转载请注明:http://blog.csdn.net/uniquewonderq 问题: 使用JDBC连接Mysql数据库,实现对Emp表数据的分页查询功能. 方案: 对于较大的数据量,通常采用分页查询的方式.不同的数据库产品有不同的数据库级的分页查询策略.例如:Oracle通常使用rownum的方式:而Mysql使用limit的方式. Oracle采用rownum和子查询实现分页查询,SQL语句如下, select * from (select rownum rn,empno,ename,jo

JDBC五数据源和数据池(web基础学习笔记十一)

一.为什么使用数据源和连接池 现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的.如果每次操作都连接数据库,然后关闭,这样做性能一定会受限.所以,我们一定要想办法复用数据库的连接.因此针对这种情况,提出了数据源和连接池的概念.使用数据源和连接池可以达到复用数据库连接的目的. 二.数据源和连接池概念 其实,数据源和连接池是两个不同的概念.有些人会把它们弄混.数据源是用来连接数据库,获得Connection 对象的,在Java 中使用javax.sql.DataSource接口来

sql中对查询出来的数据进行分页

当sql中存储的数据量比较大时,在web中 数据显示时都会对数据进行分页,分页不会在客户端进行分页,而是在数据库查询过程中进行了分页. sql代码: DECLARE @pageindex INT; --页码 DECLARE @pagesize INT; --每页显示的记录数量 SET @pageindex=; SET @pagesize=5; SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY UserName) AS rownumber,* FRO

大数据量分页存储过程效率测试附代码

在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存:2G 软件:Windows server 2003    +   Sql server 2005 OK,我们首先创建一数据库:data_Test,并在此数据库中创建一表:tb_TestTable 按 Ctrl+C 复制代码1create database data_Test --创建数据库data_Test 2GO 3use data

数据源和连接池

数据源 从接触DBMS开始就在用数据源(DataSource),它其中很重要的一个作用就是可以管理Connection,管理的方式也就是经常听到的ConnectionPool.它的管理其实就是对DriverManager获取Connection进行了包装. 下面就首先看看用DataSource来取代DriverManager来获取Connection的好处: 一般DataSource内部会用一个连接池来缓存Connection,这样获得Connection速度很快,可以大幅度提高数据库的访问速度

支持数据列表分页的帮助类

[WPF]闲着没事,写了个支持数据列表分页的帮助类 支持分页的MVVM组件大家可以网上找,老周这个类只是没事写来娱乐一下的,主要是功能简单,轻量级,至少它满足了我的需求,也许还有未知的 bug . 这个类支持对数据列表进行分页处理,原理是利用 Skip 和 Take 扩展方法,从源列表中取出某一段数据.在实例化的时候,需要提供一个 IEnumerable<T> 对象作为参数,本类会根据这个数据源来计算分页,使用参数T使其支持泛型. public PagabledCollection(IEnum

数据的分页处理

当页面中要显示的内容过多需要分多页显示.或是数据量过大内存吃不消时,需要分页处理. 原理:每次从数据库中取出一定量的数据,通过jsp页面显示 实现: ①写一个类封装分页的页面 ②从数据库中取出一个页面的数据,将信息封装到分页页面对象中 ③根据情况,将分页的页面对象设置到request对象.session对象或servletContext对象属性中,供jsp页面调用 ④在jsp页面中显示分页数据.分页页码.上一页下一页.跳转页面等 下面看具体代码: 分页页面Page类: 1 package cn.