ibatis调用sqlserver存储过程

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 获取分页的每页结果存储过程CREATE PROCEDURE [dbo].[mst_sp_pageshowex4] --输入参数    @qCols varchar(8000),             --    @qTables   varchar(8000),          --     @qWhere   varchar(8000),          --    @oK

获取分页的每页结果存储过程

CREATE PROCEDURE [dbo].[mst_sp_pageshowex4] 
--输入参数
    @qCols varchar(8000),             --
    @qTables   varchar(8000),          -- 
    @qWhere   varchar(8000),          --
    @oKey        varchar(100),        --
    @pageSize         int,            --
    @pageNumber       int             --, 0
AS
--不生成影响行数
set nocount on
 BEGIN
--声明变量
    DECLARE @sqlstr AS varchar(max)
    DECLARE @sqlTable AS varchar(8000)

set @sqltable = 'SELECT ROW_NUMBER() OVER(ORDER BY '+ @oKey + '  ) AS RowId,' + @qCols + ' FROM '+@qTables + ' where ' + @qWhere ;
set @sqlstr = 'SELECT * FROM ( '+@sqlTable+' ) AS D WHERE RowId between ' + str(@pageNumber*@pagesize +1) + ' AND ' + str((@pageNumber +1)*@pagesize) ;

exec (@sqlstr);

END


获取分页总记录数目存储过程

create PROCEDURE [dbo].[sp_pagecount] 
    @qfromTables   varchar(8000),     -- 来自哪几张表
    @qwhere  varchar(8000)    
AS
 BEGIN

    DECLARE @sqlstr AS varchar(8000)

set @sqlstr='SELECT COUNT(*) FROM ' + @qfromTables +' where ' +@qwhere;

print @sqlstr;
exec (@sqlstr);
END



sql映射文件Article.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
        PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
        "http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="Article">
    <select id="queryForPaginate2" parameterClass="article" resultClass="article">
        mst_sp_pageshowex4 '$columns$ ','$table$','$where$','$orderBy$',$pageSize$,$pageNo$
    </select>

    <select id="count2" parameterClass="article" resultClass="integer">
        sp_pagecount '$table$','$where$'
    </select>
</sqlMap>


本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1720357

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2月前
|
存储 SQL Go
sqlserver存储过程
sqlserver存储过程
|
2月前
|
存储 SQL 数据库
sqlserver中常用的几个存储过程
sqlserver中常用的几个存储过程
|
9月前
|
存储
SQLServer存储过程中事务的创建
SQLServer存储过程中事务的创建
56 0
|
1月前
|
存储 机器学习/深度学习 SQL
SQLSERVER存储过程语法详解
SQLSERVER存储过程语法详解
34 0
|
2月前
|
存储 数据库
sqlserver------数据库的存储过程(练习)
sqlserver------数据库的存储过程(练习)
28 1
|
2月前
|
存储 SQL
SQL Server 存储过程 触发器 事务处理
SQL Server 存储过程 触发器 事务处理
|
9月前
|
存储 SQL 数据库
SQLServer存储过程的执行计划
SQLServer存储过程的执行计划
89 0
|
1月前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
1月前
|
SQL 存储 安全
sql server 数据库实例
SQL Server 数据库实例是指在 SQL Server 中创建的一个独立的数据库环境。每个数据库实例都拥有自己的一套完整的数据库文件、配置设置、用户和权限等,可以独立地进行管理和操作。以下是关于
|
1月前
|
SQL 监控 安全
sql server数据库监控
SQL Server数据库监控是收集、聚合和监控SQL服务器的各种指标的过程,旨在维护SQL数据库的运行状况和可用性,优化性能,并预防或快速响应错误。以下是一些关于SQL Server数据库监控的核心