mybatis 框架下 无法处理 FOR XML PATH('')函数

1.问题:mybatis 框架下 无法处理 FOR XML PATH('')函数

2.处理思路:把sql放到储存过程中

3.写存储过程:

ALTER PROCEDURE [dbo].[PR_D]
@para1 AS varchar(1000) ,
@para2 AS int ,

@sqlbegin   AS varchar(max),
@string AS varchar(max) ,
@sqlend  AS varchar(max)
AS
BEGIN
set @sqlbegin ='select * from table a '

set @sqlend ='group by a.name'

if @para1 <>'' and @distributionAreaID is not null
SET @string =@string+ '  and a.para2 ='+''''+@para1 +''''

if @para2 >0
SET @string =@string+ '  and a.para2 ='+convert(varchar,@para2 )

 
 EXEC( @sqlbegin+@string+@sqlend )
 
END

4.mybatis 调用:

    <select id="name"  resultType="entity">      
          EXEC PR_D @para1 =#{para1 },@para1 =#{para1 } ,@sqlbegin='',@string='',@sqlend=''
    </select>

猜你喜欢

转载自blog.csdn.net/m0_38093376/article/details/81171954