SQL存储过程分页(通用的拼接SQL语句思路实现)

多表通用的SQL存储过程分页

案例一:

USE [Community]
GO/****** Object:  StoredProcedure [dbo].[Common_PageList]    Script Date: 2016/3/8 13:44:58 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOCREATE PROCEDURE [dbo].[Common_PageList]
(
@tab nvarchar(200),---表名
@strFld nvarchar(max), --字段字符串
@strWhere nvarchar(max), --where条件 
@PageIndex int, --页码
@PageSize int, --每页容纳的记录数
@Sort nvarchar(255), --排序字段及规则,不用加order by
@Total int output --总数
)
AS
declare @strSql nvarchar(max)
set nocount on;set @strSql=' SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY ' + @Sort + ') AS rownum, ' + @strFld + ' FROM ' + @tab + ' where 1=1 ' + @strWhere + ') AS DwhereWHERE rownum BETWEEN ' + CAST(((@PageIndex-1)*@PageSize + 1) as nvarchar(20)) + ' and ' + cast((@PageIndex*@PageSize) as nvarchar(20))exec (@strSql)--print @strSqlset @strSql='SELECT @Total = COUNT(0) FROM ' + @tab + ' WHERE 1=1 ' + @strWhere --print @strSqlEXECUTE sp_executesql @strSql,N'@Total INT OUTPUT',@Total OUTPUTset nocount off;GO

 

分页功能可以简化整合成统一的 SQL语句分页壳子 功能:

USE [Community]
GO/****** Object:  StoredProcedure [dbo].[GetMySocialList]    Script Date: 2016/3/17 15:20:18 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GO-- =============================================
-- Author:        熊学浩
-- Create date: 2016-03-17
-- Description:    “我的圈子"列表
-- =============================================
CREATE PROCEDURE [dbo].[GetMySocialList] -- Add the parameters for the stored procedure here@MemberID int, --用户ID@PageIndex int, --页码@PageSize int, --每页容纳的记录数@Total int output --总数
AS
declare @strSql nvarchar(max);
BEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON;--主查询set @strSql='SELECT S.CMSocialID,S.SocialName,S.SocialDescription,S.SocialLogo,S.SocialAuthority,S.Integral,S.SocialState,S.IsAvailable,SC.CheckState,SC.Notes,SM.CMSocialMemberID,SM.MemberID,SM.MemberName,SM.MemberIntegral,SM.EnterTime,SM.MemberState,SM.MemberRank,SM.IsRecommendFROM (SELECT * FROM CMSocialMember WHERE MemberID='+ CAST(@MemberID as nvarchar(20))+' AND IsDelete<>1 AND IsAvailable=1) AS SM INNER JOIN CMSocial AS S ON S.CMSocialID=SM.CMSocialID LEFT JOIN (SELECT *FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY CMSocialID ORDER BY CreateTime DESC) AS group_index ,*FROM CMSocialCheck WHERE IsDelete<>1) AS SCsub WHERE SCsub.group_index=1 ) AS SC ON SC.CMSocialID=SM.CMSocialID '; --WHERE S.IsAvailable = 1print(@strSql);--拼接分页壳子set @strSql='SELECT A.*FROM (SELECT ROW_NUMBER() OVER (ORDER BY ASub.CMSocialID DESC) AS RowNumber,* FROM ('+ @strSql +'    ) AS ASub) AS AWHERE RowNumber BETWEEN ' + CAST(((@PageIndex-1)*@PageSize + 1) as nvarchar(20)) + ' AND ' + CAST((@PageIndex*@PageSize) as nvarchar(20));print(@strSql);exec (@strSql);--获取总记录数set @strSql='SELECT @Total = COUNT(1) FROM((SELECT CMSocialID FROM CMSocialMember WHERE MemberID=1 AND IsDelete<>1 AND IsAvailable=1) AS SM INNER JOIN CMSocial AS S ON S.CMSocialID=SM.CMSocialID )';print(@strSql);EXECUTE sp_executesql @strSql,N'@Total INT OUTPUT',@Total OUTPUT;SET NOCOUNT OFF;
ENDGO

 

也可以结合存储过程和实物:

USE [TestDB]
GO/****** Object:  StoredProcedure [dbo].[GetPageDataList]    Script Date: 11/16/2017 14:13:46 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GO-- =============================================
-- Author:        <Author,,熊学浩>
-- Create date: <Create Date,,2017/11/16>
-- Description:    <Description,,Sql存储过程分页>
-- =============================================
CREATE PROC [dbo].[GetPageDataList]
(@TableName  varchar(5000),       --表名@Fields varchar(5000) = '*',     --字段名(全部字段为*)@OrderField varchar(5000),       --排序字段(必须!支持多字段)@OrderType varchar(5000),        --排序类型@sqlWhere varchar(5000) = Null,  --条件语句(不用加where)@pageSize int,                   --每页多少条记录@pageIndex int = 1 ,             --指定当前为第几页@TotalPage int output,           --返回总页数 @totalRecord int output       --计算总记录数              --返回总记录数

)
AS
begin    Begin Tran --开始事务    Declare   @sql nvarchar(500); if (@SqlWhere='' or @sqlWhere=NULL)set @sql = 'select @totalRecord = count(*) from ' + @TableNameelseset @sql = 'select @totalRecord = count(*) from ' + @TableName + ' where ' + @sqlWhere   EXEC sp_executesql @sql,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--计算总记录数  --计算总页数select @TotalPage=CEILING((@totalRecord+0.0)/@PageSize)    if (@SqlWhere='' or @sqlWhere=NULL)set @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+' ) as rowId,' + @Fields + ' from ' + @TableName elseset @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+'  ) as rowId,' + @Fields + ' from ' + @TableName + ' where ' + @SqlWhere    --处理页数超出范围情况if @PageIndex<=0 Set @pageIndex = 1if @pageIndex>@TotalPageSet @pageIndex = @TotalPage     --处理开始点和结束点Declare @StartRecord intDeclare @EndRecord intset @StartRecord = (@pageIndex-1)*@PageSize + 1set @EndRecord = @StartRecord + @pageSize - 1    --继续合成sql语句set @Sql = @Sql + ') as ' + @TableName + ' where rowid between ' + Convert(varchar(50),@StartRecord) + ' and ' +  Convert(varchar(50),@EndRecord) --print @Sql  Exec(@Sql)---------------------------------------------------If @@Error <> 0BeginRollBack TranReturn -1EndElseBeginCommit TranReturn @totalRecord ---返回记录总数End    
endGO

 

 

 

案例二:

USE [Community]
GO/****** Object:  StoredProcedure [dbo].[Common_PageListS]    Script Date: 2016/3/8 13:46:25 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOCREATE PROCEDURE [dbo].[Common_PageListS] 
( 
@Tables nvarchar(1000),                --表名/视图名
@PrimaryKey nvarchar(100),             --主键
@Sort nvarchar(200) = NULL,            --排序字段(不带order by)
@pageindex int = 1,                    --当前页码
@PageSize int = 10,                    --每页记录数
@Fields nvarchar(1000) = N'*',         --输出字段
@Filter nvarchar(1000) = NULL,         --where过滤条件(不带where)
@Group nvarchar(1000) = NULL,          --Group语句(不带Group By)
@TotalCount int OUTPUT                 --总记录数
) 
AS  DECLARE @SortTable nvarchar(100) 
DECLARE @SortName nvarchar(100) 
DECLARE @strSortColumn nvarchar(200) 
DECLARE @operator char(2) 
DECLARE @type nvarchar(100) 
DECLARE @prec int --设定排序语句
IF @Sort IS NULL OR @Sort = ''     SET @Sort = @PrimaryKey      
IF CHARINDEX('DESC',@Sort)>0   
BEGIN         SET @strSortColumn = REPLACE(@Sort, 'DESC', '')         SET @operator = '<='     
END 
ELSE     
BEGIN                SET @strSortColumn = REPLACE(@Sort, 'ASC', '')                SET @operator = '>='     
END 
IF CHARINDEX('.', @strSortColumn) > 0     
BEGIN         SET @SortTable = SUBSTRING(@strSortColumn, 0, CHARINDEX('.',@strSortColumn))SET @SortName = SUBSTRING(@strSortColumn, CHARINDEX('.',@strSortColumn) + 1, LEN(@strSortColumn))     
END 
ELSE     
BEGIN         SET @SortTable = @Tables         SET @SortName = @strSortColumn  
END --设置排序字段类型和精度 
SELECT @type=t.name, @prec=c.prec FROM sysobjects o JOIN syscolumns c on o.id=c.id JOIN systypes t on c.xusertype=t.xusertype WHERE o.name = @SortTable AND c.name = @SortNameIF CHARINDEX('char', @type) > 0    SET @type = @type + '(' + CAST(@prec AS varchar) + ')'DECLARE @strPageSize nvarchar(50) 
DECLARE @strStartRow nvarchar(50) 
DECLARE @strFilter nvarchar(1000) 
DECLARE @strSimpleFilter nvarchar(1000) 
DECLARE @strGroup nvarchar(1000)  IF @pageindex <1     SET @pageindex = 1  
SET @strPageSize = CAST(@PageSize AS nvarchar(50)) 
--设置开始分页记录数 
SET @strStartRow = CAST(((@pageindex - 1)*@PageSize + 1) AS nvarchar(50))  
--筛选以及分组语句
IF @Filter IS NOT NULL AND @Filter != ''     
BEGIN         SET @strFilter = ' WHERE ' + @Filter + ' ' SET @strSimpleFilter = ' AND ' + @Filter + ' ' 
END 
ELSE     
BEGIN         SET @strSimpleFilter = ''         SET @strFilter = ''     
END 
IF @Group IS NOT NULL AND @Group != ''  SET @strGroup = ' GROUP BY ' 
--计算总记录数
DECLARE @TotalCountSql nvarchar(1000)
SET @TotalCountSql=N'SELECT @TotalCount=COUNT(*)' +N' FROM ' + @Tables+N' WITH(NOLOCK) ' + @strFilter
EXEC sp_executesql @TotalCountSql,N'@TotalCount int OUTPUT',@TotalCount OUTPUT
--执行查询语句    
EXEC(
'
DECLARE @SortColumn ' + @type + '
SET ROWCOUNT ' + @strStartRow + '
SELECT @SortColumn=' + @strSortColumn + ' FROM ' + @Tables+N' WITH(NOLOCK) ' + @strFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
SET ROWCOUNT ' + @strPageSize + '
SELECT ' + @Fields + ' FROM ' + @Tables+N' WITH(NOLOCK) ' + ' WHERE ' + @strSortColumn + @operator + ' @SortColumn ' + @strSimpleFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
'
)GO

 案例三:

SQL Server 2012以上版本支持以下存储过程排序:

  1 USE [Community]
  2 GO
  3 
  4 /****** Object:  StoredProcedure [dbo].[SP_CMSocial_QueryCMSocialShow]    Script Date: 2016/10/26 15:21:28 ******/
  5 IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SP_CMSocial_QueryCMSocialShow]') AND type in (N'P', N'PC'))
  6 DROP PROCEDURE [dbo].[SP_CMSocial_QueryCMSocialShow]
  7 GO
  8 
  9 /****** Object:  StoredProcedure [dbo].[SP_CMSocial_QueryCMSocialShow]    Script Date: 2016/10/26 15:21:28 ******/
 10 SET ANSI_NULLS ON
 11 GO
 12 
 13 SET QUOTED_IDENTIFIER ON
 14 GO
 15 
 16 IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SP_CMSocial_QueryCMSocialShow]') AND type in (N'P', N'PC'))
 17 BEGIN
 18 EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[SP_CMSocial_QueryCMSocialShow] AS' 
 19 END
 20 GO
 21 
 22 
 23 
 24 
 25 
 26 
 27 -- =============================================
 28 -- Author:        熊学浩
 29 -- Create date: 2016-10-26
 30 -- Description:    圈子广场
 31 -- =============================================
 32 ALTER PROCEDURE [dbo].[SP_CMSocial_QueryCMSocialShow]
 33     @CMSocialCategoryID bigint=NULL,
 34     @IndustryID bigint=NULL,
 35     @ProvinceID bigint=NULL,
 36     @SearchWords nvarchar(200)=NULL,
 37 
 38     @SortMode varchar(20)='CreateTime,MemberNumber', /* @SortMode='CreateTime,MemberNumber' / 'CreateTime' / 'MemberNumber' */
 39     @StartingRowNumber bigint=0,
 40     @FetchRows int=12,
 41     @NeedTotal bit=0 --是否需要获取总数
 42 AS
 43 BEGIN
 44 if(@CMSocialCategoryID='' or @CMSocialCategoryID<1) set @CMSocialCategoryID=null;
 45 if(@IndustryID='' or @IndustryID<1) set @IndustryID=null;
 46 if(@ProvinceID='' or @ProvinceID<1) set @ProvinceID=null;
 47 if(@SearchWords is not null and @SearchWords!='' and LEN(@SearchWords)>0) set @SearchWords = '%'+@SearchWords+'%';
 48 else set @SearchWords=null;
 49 
 50 declare @Total bigint=0;
 51 
 52     -- SET NOCOUNT ON added to prevent extra result sets from
 53     -- interfering with SELECT statements.
 54     SET NOCOUNT ON;
 55 
 56 select * from(
 57     SELECT 
 58     S.CMSocialID AS 'ID',
 59     S.CMSocialID,
 60     S.SocialName,
 61     S.SocialDescription,
 62     S.SocialLogo,
 63     S.SocialAuthority,
 64     S.Integral,
 65     S.SocialState,
 66     S.IsAvailable,
 67     S.ModifyTime,
 68     S.CreateTime,
 69     COUNT(DISTINCT SM.CMSocialMemberID) AS 'MemberNumber' 
 70     FROM CMSocial AS S 
 71         LEFT JOIN (SELECT * FROM CMSocialMember WHERE CMSocialMember.IsDelete<>1 AND CMSocialMember.IsAvailable=1) AS SM ON S.CMSocialID = SM.CMSocialID 
 72     WHERE S.IsAvailable=1 AND S.SocialState=0 
 73         AND (S.CMSocialID IN(SELECT DISTINCT CMSocialID FROM CMSocialCategoryRelation WHERE CMSocialCategoryID IN(@CMSocialCategoryID)) OR @CMSocialCategoryID IS NULL)
 74         AND (S.CMSocialID IN(SELECT DISTINCT CMSocialID FROM CMIndustryRelation WHERE IndustryID IN(@IndustryID)) OR @IndustryID IS NULL)
 75         AND (S.CMSocialID IN(SELECT DISTINCT CMSocialID FROM CMAreaRelation WHERE ProvinceID IN(@ProvinceID)) OR @ProvinceID IS NULL)
 76         AND ((S.SocialName LIKE @SearchWords OR S.SocialDescription LIKE @SearchWords) OR @SearchWords IS NULL) 
 77     GROUP BY 
 78     S.CMSocialID,
 79     S.SocialName,
 80     S.SocialDescription,
 81     S.SocialLogo,
 82     S.SocialAuthority,
 83     S.Integral,
 84     S.SocialState,
 85     S.IsAvailable,
 86     S.ModifyTime,
 87     S.CreateTime
 88 ) as T
 89 --ORDER BY T.CreateTime DESC,T.MemberNumber DESC
 90 --ORDER BY MemberNumber DESC
 91 ORDER BY /* @SortMode='CreateTime,MemberNumber' / 'CreateTime' / 'MemberNumber' 多字段,多优先级排序 */
 92     CASE WHEN (CHARINDEX('CreateTime',@SortMode)=1) THEN (T.CreateTime) END DESC,
 93     CASE WHEN (CHARINDEX('MemberNumber',@SortMode)=1) THEN T.MemberNumber END DESC,
 94     CASE WHEN (CHARINDEX('CreateTime',@SortMode)>1) THEN (T.CreateTime) END DESC,
 95     CASE WHEN (CHARINDEX('MemberNumber',@SortMode)>1) THEN T.MemberNumber END DESC
 96 
 97 OFFSET @StartingRowNumber ROWS 
 98 FETCH NEXT @FetchRows ROWS ONLY;
 99 
100 if(@NeedTotal=1)
101 begin
102     SELECT @Total=COUNT(*) 
103     FROM CMSocial AS S 
104     WHERE S.IsAvailable=1 AND S.SocialState=0 
105         AND (S.CMSocialID IN(SELECT DISTINCT CMSocialID FROM CMSocialCategoryRelation WHERE CMSocialCategoryID IN(@CMSocialCategoryID)) OR @CMSocialCategoryID IS NULL)
106         AND (S.CMSocialID IN(SELECT DISTINCT CMSocialID FROM CMIndustryRelation WHERE IndustryID IN(@IndustryID)) OR @IndustryID IS NULL)
107         AND (S.CMSocialID IN(SELECT DISTINCT CMSocialID FROM CMAreaRelation WHERE ProvinceID IN(@ProvinceID)) OR @ProvinceID IS NULL)
108         AND ((S.SocialName LIKE @SearchWords OR S.SocialDescription LIKE @SearchWords) OR @SearchWords IS NULL) 
109 end
110 else
111 begin
112     set @Total=0;
113 end
114 
115 return @Total;
116 
117     SET NOCOUNT OFF;
118 END
119 
120 
121 
122 
123 
124 
125 GO

 

 

 

高效的SQLSERVER分页查询的几种示例分析

http://www.cnblogs.com/xiongzaiqiren/p/sql-paging.html

转载于:https://www.cnblogs.com/xiongzaiqiren/p/5226815.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

odbc连接oracle失败,大神解答win7系统ODBC无法连接ORACLE的处理方案

随着电脑的使用率越来越高&#xff0c;我们有时候可能会遇到win7系统ODBC无法连接ORACLE问题&#xff0c;如果我们遇到了win7系统ODBC无法连接ORACLE的问题&#xff0c;要怎么处理win7系统ODBC无法连接ORACLE呢&#xff1f;我们只用1)操作系统是Win7 x64&#xff0c;客户端是Or…

spring-mvc教程_使用MVC模式制作游戏-教程和简介

spring-mvc教程游戏开发中一种有用的体系结构模式是MVC&#xff08;模型视图控制器&#xff09;模式。 它有助于分离输入逻辑&#xff0c;游戏逻辑和UI&#xff08;渲染&#xff09;。 在任何游戏开发项目的早期阶段&#xff0c;它的用途很快就会被注意到&#xff0c;因为它可以…

web前端开发需要学什么(包含前端学习路线)

前端开发&#xff0c;做到后面&#xff0c;是可以走很多方向的&#xff1b;但是要保证后期的平滑过度&#xff0c;前期还是要把一些必须的知识搞扎实的&#xff1b;web前端开发需要学什么环境搭建前端环境很好搭建&#xff0c;编辑器浏览器即可。浏览器推荐使用 Chrome行业内主…

2015年必火的五个Html5移动开发工具推荐

NO.1 DCloudHBuilder:基于HTML5开发工具 中文官网&#xff1a;http://www.dcloud.io/ DCloudHBuilder:基于HTML5开发工具是当前最快的HTML开发工具&#xff0c;强大的代码助手帮你快速完成开发&#xff0c;最全的语法库和浏览器兼容 性数据让浏览器碎片化不再头痛&#xff0c…

oracle 库存管理系统,库存管理系统

内容介绍原文档由会员 刘阳 发布库存管理系统页数 14 字数 9186[摘要]库存管理系统是生产、计划和控制的基础。本系统通过对仓库、货位等帐务管理及入&#xff0f;出库类型、入&#xff0f;出库单据的管理&#xff0c;及时反映各种物资的仓储、流向情况&#xff0c;为生产管理和…

想当程序员,如何判断自己是否适合当前端程序员?

说在前面&#xff1a;有粉丝提问说自己并不确定学前端&#xff0c;因为自己还没有工作&#xff0c;想做程序员&#xff0c;想问问做哪个方向比较有前途&#xff1b; 有两三个小伙伴这么问的&#xff0c;感觉很有意义&#xff0c;拿出来单独说说比较好。 目录 程序员有哪些选择&…

从WildFly 9(子系统)中运行OkHttpClient

几天前&#xff0c; WildFly 9发布了&#xff0c;可以肯定的重点之一是Undertow Web子系统中对HTTP / 2.0的支持。 由于Hawkular最近已开始使用WildFly 9&#xff08;从8.2开始&#xff09;作为其基础服务器&#xff0c;因此尝试将http2用于从Hawkular-Wildfly-Monitor客户端到…

oracle19c方言,JFinal框架操作oracle数据库

JFinal框架操作oracle数据库&#xff0c;需要在configPlugin()方法中配置链接oracle数据库的相关配置配置JFinal数据库操作插件&#xff0c;configPlugin方法这里我加载jdbc.properties配置文件实在configConstant加载的Overridepublic void configConstant(Constants me) {loa…

个税社保

资料来源&#xff1a;http://finance.qq.com/cross/20160218/H9cM96A8.html?pgv_refaio2015&ptlang2052转载于:https://www.cnblogs.com/weikang/p/5200832.html

前端程序员如何选择适合自己的培训机构

web前端开发培训哪家好这个主要是根据自己的情况来选择&#xff0c;本篇文章主要分享怎么选择适合自己的培训机构市场上有哪些培训机构以及所在位置既然关心哪家培训机构好&#xff0c;基本都是有报班学习的意向&#xff0c;所以就不多说自学和报班的区别了&#xff1b;我是不排…

linux c文件属性,【linux c learn 之stat】获取文件的属性

NAMEstat 获取文件属性这个函数位于头文件里函数原型&#xff1a;int stat(const char *path, struct stat *buf);參数&#xff1a;path 文件路径文件名称buf 指向buffer的指针返回值&#xff1a;-1 遇到错误0 成功返回函数作用&#xff1a;把path文件的信息拷贝到指…

!function(){}()

http://my.oschina.net/u/2331760/blog/468672?p{{currentPage1}} ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法&#xff0c;最初我以为是一个括号包裹匿名函数&#xff0c;再在后面加个括号调用函数&#xff0c;最后达到函数定义后立…

altium designer 10哪个作者写的好 。

问题截图&#xff1a; 博主解答&#xff1a; 其实这种书籍基本内容都差不多&#xff0c;很多都是作者来回借鉴&#xff0c;我们能根据自己的需要学到知识即可。

orm查询部分字段_ORM问题第2部分–查询

orm查询部分字段在我以前关于对象关系映射工具&#xff08;ORM&#xff09;的帖子中&#xff0c;我讨论了在处理当今常见的ORM&#xff08;包括Hibernate&#xff09;时遇到的各种问题。 其中包括与从POJO生成架构有关的问题&#xff0c;实际性能和不断出现的维护问题。 本质上…

新浪微博开发-添加子视图控制器设置颜色

一.添加子视图控制器 二.设置颜色 设置颜色&#xff1a;两种方法 一种较为繁琐&#xff0c;详见视频 第二种&#xff1a; //设置颜色 self.tabBar.tintColor UIColor.orangeColor()转载于:https://www.cnblogs.com/torrescx/p/5237142.html

linux ssh无需密码,linux下 ssh 实现无需密码的远程登陆

主机A(OpenSUSE12.1):119.78.222.95主机B (Fedora16): 202.122.25.361.主机A:生成秘钥对id_rsa和id_rsa.publinux-9juc:~ # ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Created directory /root/.ssh.…

Android studio的sdk tools下没有LLDB的解决办法

粉丝提问&#xff1a; 博主解答: 解决办法&#xff1a; 点击setting--》plugins--》找到“Android Support”选项&#xff0c;并勾选&#xff0c;然后会提示重启android studio &#xff0c;点击重启&#xff0c;ok&#xff0c;如果已经设置好SDK的路径的话&#xff0c;问题解…

随机JCache内容:多个提供程序和JMX Bean

JCache&#xff08;JSR 107&#xff09;是用于缓存的Java标准…足够了。 没有更多介绍性的东西。 这是一则速成文章&#xff0c;内容涉及 多个JCache提供程序配置&#xff0c;以及 功能&#xff1a;通过JMX Mbeans的JCache统计信息 管理多个JCache提供程序 如果您只使用一个…

HDU 2222 ac自动机模板

题意: 求n个模板串在匹配串中出现了几个. SOL: 反正就是模板啦...似乎比KMP都简单----这么说似乎有点不道德...毕竟先看的KMP而他们并没有什么不同... 貌似自己的理解和他们画的图还是有些出入......不虚慢慢看... 然后就是特殊一点的一个last数组,可以比较迅速地找到包含的子串…

linux下spi添加设备,Linux Kernl添加spidev的设备节点

一、spidev介绍如果在内核中配置spidev&#xff0c;会在/dev目录下产生设备节点&#xff0c;通过此节点可以操作挂载在该SPI总线上的设备。用户空间通过该节点可以访问内核空间。二、配置spidev设备步骤在i.MX6&#xff0c;Kernel 4.1.15上配置spidev的支持。1、配置dts支持spi…