zoukankan      html  css  js  c++  java
  • 多表查询存储过程

    多表查询存储过程  ;看懂了应该会有所收获

      1 -- Description:    根据条件查询金融产品信息。
      2 -- =============================================
      3 ALTER PROCEDURE [dbo].[SearchProduct]
      4     (
      5       @ben1 AS DECIMAL(38, 2) ,
      6       @yue1 AS INT ,
      7       @strWhere AS NVARCHAR(MAX),
      8       @PageSize as int,
      9       @PageIndex as int
     10     )
     11 AS 
     12     BEGIN 
     13  
     14         SET NOCOUNT ON ;
     15         DECLARE @str NVARCHAR(MAX)
     16         
     17         SELECT  DISTINCT  
     18                 p.ProductID ,
     19                 p.ProductName ,
     20                 i.InstitutionName ,
     21                 i.IconUrl ,
     22                 i.InstitutionName + ' - ' + p.ProductName AS PNames ,
     23                 --pt.PledgeName ,
     24                 CASE WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0
     25                           AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0
     26                           AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0
     27                      THEN '企业主,个体户,上班族'
     28                      WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0
     29                           AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0
     30                      THEN '企业主,个体户'
     31                      WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0
     32                           AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0
     33                      THEN '企业主,上班族'
     34                      WHEN CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0
     35                           AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0
     36                      THEN '个体户,上班族'
     37                      WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0
     38                           AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) = -1
     39                           AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) = -1
     40                      THEN '企业主'
     41                      WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) = -1
     42                           AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0
     43                           AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) = -1
     44                      THEN '个体户'
     45                      WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) = -1
     46                           AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) = -1
     47                           AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0
     48                      THEN '上班族'
     49                      ELSE '无身份要求'
     50                 END AS Identitys ,
     51                 c.ConditionContent ,
     52                 LoanTime ,
     53                 CASE WHEN ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) <> 0
     54                      THEN ( @ben1 * MothRateMin * POWER(( 1 + MothRateMin ),
     55                                                         @yue1) ) / ( POWER(( 1
     56                                                               + MothRateMin ),
     57                                                               @yue1) - 1 )
     58                      ELSE 0
     59                 END AS yuegong ,
     60                 CASE WHEN ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) <> 0
     61                      THEN ( ( @ben1 * MothRateMin * POWER(( 1 + MothRateMin ),
     62                                                           @yue1) )
     63                             / ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) )
     64                           * @yue1 - @ben1
     65                      ELSE 0
     66                 END AS SumRateMin ,  
     67                   case when     
     68                 charindex('</li>',isnull(c.ConditionContent,''))   <=0  
     69                  or charindex('</li>',isnull(c.ConditionContent,''),charindex('</li>',isnull(c.ConditionContent,''))+1)<=0  
     70               or charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''),charindex('</li>',isnull(c.ConditionContent,''))+1)+1)<=0 or 
     71                   ( charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''))+1)+1)+4 )   <=0    
     72                then c.ConditionContent 
     73          else   
     74                 SUBSTRING(isnull(c.ConditionContent,''),1,charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''))+1)+1)+4) end as   ConditionContents, 
     75                 e.TypeName ,
     76                 pt.PledgeName ,
     77                 CAST(LimitMin AS VARCHAR) + ' ~ ' + CAST(LimitMax AS VARCHAR) AS LimitMin ,
     78                 CAST(DeadLineMin AS VARCHAR) + ' ~ '
     79                 + CAST(DeadLineMax AS VARCHAR) AS DeadLineMin ,
     80                 m.RepaymentName ,
     81                 MothRateMin AS RateMin ,
     82                 CAST(MothRateMin AS VARCHAR) + ' %~ '
     83                 + CAST(MothRateMax AS VARCHAR) + '%' AS MothRateMins ,
     84                 CASE p.SynthesizeRate
     85                   WHEN '确切'
     86                   THEN CAST(RateMin AS VARCHAR) + '% ~ '
     87                        + CAST(RateMax AS VARCHAR) + '%'
     88                   ELSE p.SynthesizeRate
     89                 END AS SynthesizeRate ,
     90                 CASE p.SecurityCost
     91                   WHEN '确切'
     92                   THEN CAST(CostMin AS VARCHAR) + '% ~ '
     93                        + CAST(CostMax AS VARCHAR) + '%'
     94                   ELSE p.SecurityCost
     95                 END AS SecurityCost ,
     96                 CASE OneTimeFee
     97                   WHEN '确切'
     98                   THEN CAST(FeeMin AS VARCHAR) + '% ~ '
     99                        + CAST(FeeMax AS VARCHAR) + '%'
    100                   ELSE OneTimeFee
    101                 END AS OneTimeFee
    102         FROM    dbo.P_LoanProduct p  
    103                 LEFT JOIN dbo.I_Institution i ON p.InstitutionID = i.InstitutionID
    104                 LEFT JOIN dbo.I_InstitutionType t ON i.InstitutioniTypeID = t.InstitutioniTypeID
    105                 LEFT JOIN dbo.P_PledgeType pt ON p.PledgeID = pt.PledgeID
    106                 LEFT JOIN dbo.P_ProductType e ON p.ProductTypeID = e.ProductTypeID
    107                 LEFT JOIN dbo.P_RepaymentMode m ON p.ModeID = m.ModeID
    108                 LEFT JOIN dbo.P_Product_Condition pc ON p.ProductID = pc.ProductID
    109                 LEFT JOIN dbo.P_Condition c ON pc.ConditionID = c.ConditionID
    110                 LEFT JOIN dbo.P_ConditionCredit ct ON c.ConditionID = ct.ConditionID
    111                 LEFT JOIN dbo.P_ConditionProperty py ON c.ConditionID = py.ConditionID
    112                 LEFT JOIN dbo.P_ResidenceAge re ON c.ConditionID = re.ConditionID
    113                 LEFT JOIN dbo.P_WorkAge w ON c.ConditionID = w.ConditionID
    114                 LEFT JOIN dbo.P_ShopAge s ON c.ConditionID = s.ConditionID
    115                 LEFT JOIN dbo.P_Condition_Certificate cc ON c.ConditionID = cc.ConditionID
    116                 LEFT JOIN dbo.P_ConditionOwning co ON c.ConditionID = co.ConditionID
    117                 LEFT JOIN dbo.P_CIManageAge ca ON c.ConditionID = ca.ConditionID
    118                 LEFT JOIN dbo.P_ConditionManage cm ON c.ConditionID = cm.ConditionID
    119                 LEFT JOIN dbo.P_ConditionIdentity ci ON c.ConditionID = ci.ConditionID
    120                 LEFT JOIN dbo.P_ConditionPlace cp ON c.ConditionID = cp.ConditionID 
    121    
    122      
    123     END
    124   --exec dbo.SearchProduct   10000.00,12,'  ' ,3,1

    dal层 多表查询

     1   /// <summary>
     2         /// 分页获取数据列表json
     3         /// </summary>
     4         public string GetListByPageJsonn( decimal ben, int yue,int PageSize, int PageIndex, string strWhere)
     5         {
     6             DataSet Ds = new DataSet();
     7             StringBuilder strSql = new StringBuilder();
     8 
     9             strSql.Append("  declare @yue1  int ,   @ben1 decimal(38,2)   set  @yue1= ");
    10             strSql.Append(yue);
    11 
    12             strSql.Append("   set @ben1 =");
    13             strSql.Append(ben);
    14             
    15             strSql.Append("    SELECT  DISTINCT  p.ProductID ,p.ProductName ,i.InstitutionName ,i.IconUrl ,i.InstitutionName + ' - ' + p.ProductName AS PNames , CASE WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0  AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '企业主,个体户,上班族' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 THEN '企业主,个体户' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '企业主,上班族' WHEN CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '个体户,上班族' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) = -1 THEN '企业主' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) = -1 THEN '个体户' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '上班族' ELSE '无身份要求'                 END AS Identitys , c.ConditionContent , LoanTime , CASE WHEN ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) <> 0 THEN ( @ben1 * MothRateMin * POWER(( 1 + MothRateMin ), @yue1) ) / ( POWER(( 1 + MothRateMin ), @yue1) - 1 )ELSE 0 END AS yuegong , CASE WHEN ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) <> 0 THEN ( ( @ben1 * MothRateMin * POWER(( 1 + MothRateMin ),@yue1) )/ ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) )* @yue1 - @ben1 ELSE 0 END AS SumRateMin ,  case when    charindex('</li>',isnull(c.ConditionContent,''))   <=0  or charindex('</li>',isnull(c.ConditionContent,''),charindex('</li>',isnull(c.ConditionContent,''))+1)<=0  or charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''),charindex('</li>',isnull(c.ConditionContent,''))+1)+1)<=0 or ( charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''))+1)+1)+4 )   <=0    then c.ConditionContent else   SUBSTRING(isnull(c.ConditionContent,''),1,charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''))+1)+1)+4) end as   ConditionContents, e.TypeName ,pt.PledgeName ,CAST(LimitMin AS VARCHAR) + ' ~ ' + CAST(LimitMax AS VARCHAR) AS LimitMin ,CAST(DeadLineMin AS VARCHAR) + ' ~ ' + CAST(DeadLineMax AS VARCHAR) AS DeadLineMin ,m.RepaymentName ,MothRateMin AS RateMin ,CAST(MothRateMin AS VARCHAR) + ' %~ '+ CAST(MothRateMax AS VARCHAR) + '%' AS MothRateMins ,CASE p.SynthesizeRate WHEN '确切' THEN CAST(RateMin AS VARCHAR) + '% ~ '+ CAST(RateMax AS VARCHAR) + '%' ELSE p.SynthesizeRate END AS SynthesizeRate ,CASE p.SecurityCost WHEN '确切' THEN CAST(CostMin AS VARCHAR) + '% ~ ' + CAST(CostMax AS VARCHAR) + '%' ELSE p.SecurityCost END AS SecurityCost , CASE OneTimeFee WHEN '确切' THEN CAST(FeeMin AS VARCHAR) + '% ~ ' + CAST(FeeMax AS VARCHAR) + '%' ELSE OneTimeFee END AS OneTimeFee FROM    dbo.P_LoanProduct p  LEFT JOIN dbo.I_Institution i ON p.InstitutionID = i.InstitutionID LEFT JOIN dbo.I_InstitutionType t ON i.InstitutioniTypeID = t.InstitutioniTypeID LEFT JOIN dbo.P_PledgeType pt ON p.PledgeID = pt.PledgeID LEFT JOIN dbo.P_ProductType e ON p.ProductTypeID = e.ProductTypeID LEFT JOIN dbo.P_RepaymentMode m ON p.ModeID = m.ModeID LEFT JOIN dbo.P_Product_Condition pc ON p.ProductID = pc.ProductID LEFT JOIN dbo.P_Condition c ON pc.ConditionID = c.ConditionID LEFT JOIN dbo.P_ConditionCredit ct ON c.ConditionID = ct.ConditionID LEFT JOIN dbo.P_ConditionProperty py ON c.ConditionID = py.ConditionID LEFT JOIN dbo.P_ResidenceAge re ON c.ConditionID = re.ConditionID LEFT JOIN dbo.P_WorkAge w ON  c.ConditionID = w.ConditionID LEFT JOIN dbo.P_ShopAge s ON c.ConditionID = s.ConditionID LEFT JOIN dbo.P_Condition_Certificate cc ON c.ConditionID = cc.ConditionID LEFT JOIN dbo.P_ConditionOwning co ON c.ConditionID = co.ConditionID LEFT JOIN dbo.P_CIManageAge ca ON c.ConditionID = ca.ConditionID LEFT JOIN dbo.P_ConditionManage cm ON c.ConditionID = cm.ConditionID LEFT JOIN dbo.P_ConditionIdentity ci ON c.ConditionID = ci.ConditionID LEFT JOIN dbo.P_ConditionPlace cp ON c.ConditionID = cp.ConditionID  ");
    16             if (strWhere.Trim() != "")
    17             {
    18                 strSql.Append("  where  " + strWhere);
    19             }
    20             DbHelperSQL.GotDataList(strSql.ToString(), "DataList", Ds, PageIndex * PageSize, PageSize);//分页后的数据
    21             return DbHelperSQL.ToJson(Ds.Tables[0], GetRecordCountn(ben,yue, strWhere));
    22         }
    23 
    24         /// <summary>
    25         /// 获取记录总数
    26         /// </summary>
    27         public int GetRecordCountn(decimal ben, int yue, string strWhere)
    28         {
    29             DataSet Ds = new DataSet();
    30             StringBuilder strSql = new StringBuilder();
    31 
    32             strSql.Append("  declare @yue1  int ,   @ben1 decimal(38,2)   set  @yue1= ");
    33             strSql.Append(yue);
    34 
    35             strSql.Append("   set @ben1 =");
    36             strSql.Append(ben);
    37             strSql.Append("select  count(1) from    ( ");
    38             strSql.Append("    SELECT  DISTINCT  p.ProductID ,p.ProductName ,i.InstitutionName ,i.IconUrl ,i.InstitutionName + ' - ' + p.ProductName AS PNames , CASE WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0  AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '企业主,个体户,上班族' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 THEN '企业主,个体户' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '企业主,上班族' WHEN CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '个体户,上班族' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) = -1 THEN '企业主' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) > 0 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) = -1 THEN '个体户' WHEN CHARINDEX('企业主', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('个体户', ISNULL(c.ConditionContent, '')) = -1 AND CHARINDEX('上班族', ISNULL(c.ConditionContent, '')) > 0 THEN '上班族' ELSE '无身份要求'                 END AS Identitys , c.ConditionContent , LoanTime , CASE WHEN ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) <> 0 THEN ( @ben1 * MothRateMin * POWER(( 1 + MothRateMin ), @yue1) ) / ( POWER(( 1 + MothRateMin ), @yue1) - 1 )ELSE 0 END AS yuegong , CASE WHEN ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) <> 0 THEN ( ( @ben1 * MothRateMin * POWER(( 1 + MothRateMin ),@yue1) )/ ( POWER(( 1 + MothRateMin ), @yue1) - 1 ) )* @yue1 - @ben1 ELSE 0 END AS SumRateMin ,  case when    charindex('</li>',isnull(c.ConditionContent,''))   <=0  or charindex('</li>',isnull(c.ConditionContent,''),charindex('</li>',isnull(c.ConditionContent,''))+1)<=0  or charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''),charindex('</li>',isnull(c.ConditionContent,''))+1)+1)<=0 or ( charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''))+1)+1)+4 )   <=0    then c.ConditionContent else   SUBSTRING(isnull(c.ConditionContent,''),1,charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''), charindex('</li>',isnull(c.ConditionContent,''))+1)+1)+4) end as   ConditionContents, e.TypeName ,pt.PledgeName ,CAST(LimitMin AS VARCHAR) + ' ~ ' + CAST(LimitMax AS VARCHAR) AS LimitMin ,CAST(DeadLineMin AS VARCHAR) + ' ~ ' + CAST(DeadLineMax AS VARCHAR) AS DeadLineMin ,m.RepaymentName ,MothRateMin AS RateMin ,CAST(MothRateMin AS VARCHAR) + ' %~ '+ CAST(MothRateMax AS VARCHAR) + '%' AS MothRateMins ,CASE p.SynthesizeRate WHEN '确切' THEN CAST(RateMin AS VARCHAR) + '% ~ '+ CAST(RateMax AS VARCHAR) + '%' ELSE p.SynthesizeRate END AS SynthesizeRate ,CASE p.SecurityCost WHEN '确切' THEN CAST(CostMin AS VARCHAR) + '% ~ ' + CAST(CostMax AS VARCHAR) + '%' ELSE p.SecurityCost END AS SecurityCost , CASE OneTimeFee WHEN '确切' THEN CAST(FeeMin AS VARCHAR) + '% ~ ' + CAST(FeeMax AS VARCHAR) + '%' ELSE OneTimeFee END AS OneTimeFee FROM    dbo.P_LoanProduct p  LEFT JOIN dbo.I_Institution i ON p.InstitutionID = i.InstitutionID LEFT JOIN dbo.I_InstitutionType t ON i.InstitutioniTypeID = t.InstitutioniTypeID LEFT JOIN dbo.P_PledgeType pt ON p.PledgeID = pt.PledgeID LEFT JOIN dbo.P_ProductType e ON p.ProductTypeID = e.ProductTypeID LEFT JOIN dbo.P_RepaymentMode m ON p.ModeID = m.ModeID LEFT JOIN dbo.P_Product_Condition pc ON p.ProductID = pc.ProductID LEFT JOIN dbo.P_Condition c ON pc.ConditionID = c.ConditionID LEFT JOIN dbo.P_ConditionCredit ct ON c.ConditionID = ct.ConditionID LEFT JOIN dbo.P_ConditionProperty py ON c.ConditionID = py.ConditionID LEFT JOIN dbo.P_ResidenceAge re ON c.ConditionID = re.ConditionID LEFT JOIN dbo.P_WorkAge w ON  c.ConditionID = w.ConditionID LEFT JOIN dbo.P_ShopAge s ON c.ConditionID = s.ConditionID LEFT JOIN dbo.P_Condition_Certificate cc ON c.ConditionID = cc.ConditionID LEFT JOIN dbo.P_ConditionOwning co ON c.ConditionID = co.ConditionID LEFT JOIN dbo.P_CIManageAge ca ON c.ConditionID = ca.ConditionID LEFT JOIN dbo.P_ConditionManage cm ON c.ConditionID = cm.ConditionID LEFT JOIN dbo.P_ConditionIdentity ci ON c.ConditionID = ci.ConditionID LEFT JOIN dbo.P_ConditionPlace cp ON c.ConditionID = cp.ConditionID  ");
    39             if (strWhere.Trim() != "")
    40             {
    41                 strSql.Append("  where  " + strWhere);
    42             }
    43             strSql.Append(") as a");
    44             object obj = DbHelperSQL.GetSingle(strSql.ToString());
    45             if (obj == null)
    46             {
    47                 return 0;
    48             }
    49             else
    50             {
    51                 return Convert.ToInt32(obj);
    52             }
    53         }

    事务回滚:

     1 BEGIN
     2  begin  try
     3 begin transaction tr
     4 SET NOCOUNT ON;
     5  declare @helixi decimal(18,6) 
     6     exec  @helixi  =   dbo.yueBen @ben,@yue,@li 
     7       set @helixi=@helixi*@yue-@ben      --set  
     8         
     9    commit transaction tr   return   @helixi
    10 end try
    11 begin catch  
    12  
    13 
    14 --print  ERROR_MESSAGE()
    15 return 0
    16 rollback transaction  
    17  
    18 end catch
    19 END
  • 相关阅读:
    降维-基于RDD的API
    GraphX编程指南
    GPU自动调度卷积层
    TVM部署预定义模型
    做个普通人,就挺好的
    Spring 的 @Primary 注解
    微信公众平台消息接口开发(30)大众点评商户信息团购及优惠券查询
    大众点评API获取某坐标周边酒店信息
    Sharding-jdbc 读写分离(三)- springboot+mybatis+Hikari
    Sharding-jdbc 分库分表专题内容(二)springboot+mybatis+Hikari
  • 原文地址:https://www.cnblogs.com/woloveprogram/p/4776010.html
Copyright © 2011-2022 走看看