热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库分页查询模板sql和总结一下mysql语句的区别

<?xmlversion"1.0"encoding"UTF-8"?><!DOCTYPEmapperPUBLIC"-






select page_2.*
from (select page_1.*, rownum page_num
from
(





) page_1
where rownum <= ${pageQuery.PageQuery_end}) page_2
where page_2.page_num >= ${pageQuery.PageQuery_start}
]]>



package yycg.base.pojo.vo;

import javax.swing.event.ListSelectionEvent;

/**
* 分页查询参数类
* @author miaoruntu
*
*/
public class PageQuery {

public static final int PageQuery_pageSize_common = 30;

// 当前页码
private int PageQuery_currPage;

// 总页数
private int PageQuery_Psize;

// 总记录数
private int PageQuery_infoCount;

// 每页显示个数
private int PageQuery_pageSize = PageQuery_pageSize_common;

// 开始坐标
private int PageQuery_start = 0;

// 结束坐标
private int PageQuery_end = 30;


public static final String PageQuery_classname = "pagequery";


/**
* 将分布参数传入处理,最终计算出当前页码PageQuery_currPage,开始坐标PageQuery_star,结束坐标PageQuery_end,总页数PageQuery_Psize
* @param infoCount 记录总数
* @param pageSize 每页显示个数
* @param currPage 当前页码
*/
public void setPageParams(int infoCount, int pageSize, int currPage) {
this.PageQuery_infoCount = infoCount;
this.PageQuery_pageSize = pageSize;
this.PageQuery_currPage = currPage;

float Psize_l = infoCount / (float) (this.PageQuery_pageSize);
if (PageQuery_currPage <2) {
PageQuery_currPage = 1;
PageQuery_start = 0;
} else if (PageQuery_currPage > Psize_l) {
if(Psize_l==0){

PageQuery_currPage=1;
}else{
PageQuery_currPage = (int) Math.ceil(Psize_l);
}

PageQuery_start = (PageQuery_currPage - 1) * this.PageQuery_pageSize;
} else {
PageQuery_start = (PageQuery_currPage - 1) * this.PageQuery_pageSize;
}
PageQuery_Psize = (int) Math.ceil(Psize_l);
this.PageQuery_end = PageQuery_currPage*this.PageQuery_pageSize;
}

public int getPageQuery_currPage() {
return PageQuery_currPage;
}

public void setPageQuery_currPage(int pageQuery_currPage) {
PageQuery_currPage = pageQuery_currPage;
}

public int getPageQuery_Psize() {
return PageQuery_Psize;
}

public void setPageQuery_Psize(int pageQuery_Psize) {
PageQuery_Psize = pageQuery_Psize;
}

public int getPageQuery_infoCount() {
return PageQuery_infoCount;
}

public void setPageQuery_infoCount(int pageQuery_infoCount) {
PageQuery_infoCount = pageQuery_infoCount;
}

public int getPageQuery_pageSize() {
return PageQuery_pageSize;
}

public void setPageQuery_pageSize(int pageQuery_pageSize) {
PageQuery_pageSize = pageQuery_pageSize;
}

public int getPageQuery_start() {
return PageQuery_start;
}

public void setPageQuery_start(int pageQuery_start) {
PageQuery_start = pageQuery_start;
}

public PageQuery getPageQuery() {
return this;
}

public int getPageQuery_end() {
return PageQuery_end;
}



}

oracle和mysql语句的一些区别总结

数据库oracle与mysql在语法上的区别不是很多,但是也有一些。下面是部分参考:

 

1,Oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了。oracle要分页的话,要换成rownum。

2,oracle建表时,没有auto_increment,所有要想让表的一个字段自增,要自己添加序列,插入时,把序列的值,插入进去。

3,oracle有一个dual表,当select后没有表时,加上的。不加会报错的。select 1 这个在mysql不会报错的,oracle下会。select 1 from dual这样的话,oracle就不会报错了。

4,对空值的判断,name != ""这样在mysql下不会报错的,但是oracle下会报错。在oracle下的要换成name is not null

5,oracle下对单引号,双引号要求的很死,一般不准用双引号,用了会报

ERROR at line 1:
ORA-00904: "t": invalid identifier

而MySQL要求就没有那么严格了,单引号,双引号都可以。

6,oracle有to_number,to_date这样的转换函数,oracle表字段是number型的,如果你$_POST得到的参数是123456,入库的时候,你还要to_number来强制转换一下,不然后会被当成字符串来处理。而mysql却不会。

7,group_concat这个函数,oracle是没有的,如果要想用自已写方法。

8,mysql的用户权限管理,是放到mysql自动带的一个数据库mysql里面的,而oracle是用户权限是根着表空间走的。

9,group by,在下oracle下用group by的话,group by后面的字段必须在select后面出现,不然会报错的,而mysql却不会。

10,mysql存储引擎有好多,常用的mysiam,innodb等,而创建oracle表的时候,不要这样的,好像只有一个存储引擎。

11,oracle字段无法选择位置,alter table add column before|after,这样会报错的,即使你用sql*plus这样的工具,也没法改字段的位置。

12,oracle的表字段类型也没有mysql多,并且有很多不同,例如:mysql的int,float合成了oracle的number型等。

13,oracle查询时from 表名后面 不能加上as 不然会报错的,select t.username from test as t而在mysql下是可以的。

14,oracle中是没有substring这个函数的,mysql有的。




推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
author-avatar
鬼厉--七月
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有