zoukankan      html  css  js  c++  java
  • SmartSql Map

    SmartSqlMap

    属性 说明
    Scope 域,用于SqlMap定义Sql声明范围

    Statement标签

    属性 说明
    Id 唯一性编号
    Cache 缓存策略编号,引用自Cache标签

    Statement 筛选子标签

    标签 真条件
    IsEmpty null or 空字符串 or 空IEnumerable
    IsEqual 与比较值相等
    IsFalse 参数为 false
    IsGreaterEqual 参数大于等于比较值
    IsGreaterThan 参数大于比较值
    IsLessEqual 参数小于等于比较值
    IsLessThan 参数小于比较值
    IsNotEmpty !(null or 空字符串 or 空IEnumerable)
    IsNotEqual 参数不等于比较值
    IsNotNull 参数不等于 null
    IsNull 参数等于 null
    IsProperty 查询对象包含属性名
    IsTrue 参数为 true
    Switch Switch 标签
    Case Switch标签的子标签,等于比较值
    Defalut Switch标签的子标签,未命中任何Case子标签时命中此标签

    Statement 其他子标签

    标签 说明
    Env 用于判断全局变量 DbProvider
    Include 引用外部Statement
    Dynamic 动态标签,用于包裹筛选标签,匹配的第一个筛选标签的前缀将忽略
    For 用于参数为IEnumerable,遍历参数动态拼接Sql
    Where 继承至Dynamic,用于包裹筛选标签,匹配的第一个筛选标签前缀被忽略,并添加 Where 前缀
    Set 继承至Dynamic,用于Update,包裹筛选标签,匹配的第一个筛选标签前缀被忽略,并添加 Set 前缀,必须匹配至少一个子标签,否则将抛出SmartSqlException异常。
    Placeholder 占位符标签,用于替换参数键值

    Demo

    For

    如果数组内类型里边为(值类型 | String), Key属性值为必选,且与For标签内键值保持一致

        var list = SqlMapper.Query<T_Test>(new RequestContext
            {
                Scope = "T_Test",
                SqlId = "GetList",
                Request = new
                {
                    LikeNames = new string[] { "Ahoo", "Good" }
                }
            });
    
        <For Prepend="And" Property="LikeNames" Key="Name" Open="(" Separator="Or" Close=")">
            Name Like Concat('%',@Name,'%')
        </For>
    

    如果数组内类型里边为 !(值类型 | String)

        IList<T_Test> test_list = new List<T_Test> {
            new T_Test{  Name="1", Status=1},
            new T_Test{  Name="2", Status=2}
        };
        SqlMapper.Execute(new RequestContext
            {
                Scope = "T_Test",
                SqlId = "InsertRange",
                Request = new { Values = test_list }
            });
    
    <Statement Id="InsertRange">
        INSERT INTO T_Test
        (Name,Status)
        VALUES
        <For Prepend="" Property="Values" Open="" Separator="," Close="">
            (@Name,@Status)
        </For>
    </Statement>
    

  • 相关阅读:
    验证授权【msdn】
    实战 Comet 应用程序开发
    ASP.NET Forms验证 实现子域名(SubDomain)共享登陆下的缺陷 [转]
    分享WordPress博客搜索引擎优化的六点经验 博客园 cnbogs
    支持支付宝(Alipay)付款的三个美国主机商
    认证,授权2
    登录代码,程序不是作文
    Google 的PageRank值对网站成功有多重要
    SQL Server 2005 Service Broker 初探 [摘抄]
    jQuerySelectors(选择器)的使用(四五、内容篇&可见性篇) cnblogs zhuan
  • 原文地址:https://www.cnblogs.com/Ahoo-Wang/p/SmartSql-Map.html
Copyright © 2011-2022 走看看