sqlserver&&mysql分页sql语句总结

 sqlserver分页语句

 

select top 每页显示的数量 * from 表 where 主键id not in(select top 每页显示的熟练*当前页码 主键id from 表)

 

 mysql

 

select * from 表 limit 当前页码*每页显示的数量,每页显示的数量

 

第一页索引从0开始

 

针对 sqlserver2005  id主键的生成策略不是自增的 分页解决方案

 

select * from (select *,row_number() over(order by id) as rownum from persmember) as love, persmemberinfo as q
where rownum between 0 and 10 and love.id=q.id

 

select * from (select *,row_number() over(order by id) as rownum from persmember) as love, persmemberinfo as q
where rownum between 11 and 21 and love.id=q.id

 

select * from (select *,row_number() over(order by id) as rownum from persmember) as love, persmemberinfo as q
where rownum between 22 and 32 and love.id=q.id

 

另一种写法
WITH OrderedOrders AS
(SELECT *,ROW_NUMBER() OVER (order by [id])as RowNumber FROM persmember )SELECT * FROM OrderedOrders
WHERE RowNumber between 50 and 60;

### MyBatis 在博客系统中的实现与应用 #### 1. 环境搭建 为了使 MyBatis 能够顺利运行于博客系统中,需先完成必要的环境设置。这包括引入所需的依赖库以及配置相应的文件。 对于 Maven 构建工具而言,在 `pom.xml` 文件内加入如下依赖项来获取 MyBatis 及其关联组件的支持: ```xml <dependencies> <!-- MyBatis Core --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!-- MySQL JDBC Driver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- Other dependencies as needed --> </dependencies> ``` #### 2. 配置文件设定 接下来定义全局性的配置参数,通常位于项目的资源目录下名为 `mybatis-config.xml` 的 XML 文档里。此文档用于指定数据库连接详情、SQL 映射路径以及其他高级选项等[^4]。 ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/blogdb?useSSL=false&amp;serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="password"/> </dataSource> </environment> </vironments> <mappers> <mapper resource="BlogMapper.xml"/> </mappers> </configuration> ``` #### 3. 创建实体类和 Mapper 接口 针对博客文章这一核心对象建立对应的 Java 类表示形式,并为其匹配专门的数据访问接口(DAO)。这里假设有一个简单的 Blog 实体模型及其关联的操作方法声明。 ```java public class Blog { private int id; private String title; private Date createTime; private String content; // Getters and Setters... } ``` 相应地,为上述实体提供 CRUD 功能的接口应如此编写: ```java import org.apache.ibatis.annotations.*; @Mapper public interface BlogMapper { @Select("SELECT * FROM blogs WHERE id=#{id}") Blog selectById(int id); @Insert("INSERT INTO blogs(title, create_time, content) VALUES(#{title}, #{createTime}, #{content})") void insert(Blog blog); // More operations like update/delete can be added here. } ``` #### 4. 编写 SQL 映射语句 除了利用注解简化部分查询逻辑外,更复杂的业务场景往往还需要单独维护 `.xml` 形式的映射描述符。这些文件负责承载那些难以直接表达成代码片段的大规模或多条件组合下的动态 SQL 片段。 例如,下面是一个典型的 `BlogMapper.xml` 示例,它实现了对博客条目的分页检索功能: ```xml <mapper namespace="com.example.mapper.BlogMapper"> <select id="selectAllWithPaging" resultType="Blog"> SELECT * FROM blogs b ORDER BY b.create_time DESC LIMIT #{offset}, #{limit}; </select> </mapper> ``` 通过以上几个方面的介绍可以看出,MyBatis 提供了一种强大而灵活的方式来进行持久化层的设计与开发工作,尤其适合处理像博客这样的内容管理系统所涉及的各种复杂数据结构和操作需求[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值