zoukankan      html  css  js  c++  java
  • ibatis in语句参数传入方法

     第一种:传入参数仅有数组
           <select id="GetEmailList_Test"  resultClass="EmailInfo_">
                select *
                from MailInfo with (nolock)
                where ID in
                    <iterate open="(" close=")" conjunction="," >
                        #[]#
                    </iterate>
            </select>
    调用
                string[] strValue = new string[] { "1", "2", "3" };
                Reader.QueryForList<EmailInfoModel>("WebApp_Ibatisnet.dao.GetEmailList_Test", strValue );

           第二种:传入参数有数组,且有其他数据
            <select id="GetEmailList_Test3" parameterClass="TestIn" resultClass="EmailInfo_">
                select  top(#Count#)*
                from MailInfo with (nolock)
                where ID in
                <iterate open="(" close=")" conjunction="," property="ArrValue" >
                    #ArrValue[]#
                </iterate>
            </select>
    调用
                TestIn ti = new TestIn();
                ti.Count = 1;
                ti.ArrValue = strValue;
                return Reader.QueryForList<EmailInfoModel>("WebApp_Ibatisnet.dao.GetEmailList_Test3", ti);
    实体类:
       public class TestIn
        {
            private int count;
            public int Count
            {
                get { return count; }
                set { count = value; }
            }
            private string[] arrValue;
            public string[] ArrValue
            {
                get { return arrValue; }
                set { arrValue = value; }
            }
        }

           第三种:in后面的数据确定,使用string传入
            <select id="GetEmailList_Test2" parameterClass="TestIn" resultClass="EmailInfo_">
                select *
                from MailInfo with (nolock)
                where ID in
                ($StrValue$)
            </select>
    调用
                    Reader.QueryForList<EmailInfoModel>("WebApp_Ibatisnet.dao.GetEmailList_Test2", "1,2,3");


    其他信息:
    Iterate的属性:
    prepend -可被覆盖的SQL语句组成部分,添加在语句的前面(可选)
    property -类型为java.util.List的用于遍历的元素(必选)
    open -整个遍历内容体开始的字符串,用于定义括号(可选)
    close -整个遍历内容体结束的字符串,用于定义括号(可选)
    conjunction -每次遍历内容之间的字符串,用于定义AND或OR(可选)
    <iterate>遍历类型为java.util.List的元素。
  • 相关阅读:
    IP地址分类和局域网常用IP地址
    【转载】NAT(Network Address Translation )——解决IPV4地址短缺之道的方法初识
    【转载】DNS域名解析中A、AAAA、CNAME、MX、NS、TXT、SRV、SOA、PTR各项记录的作用
    三层网络架构,接入交换机、汇聚交换机和核心交换机
    STP协议(生成树协议)简介
    最长回文子串 and 最长回文子序列(转)
    Leetcode030 substring-with-concatenation-of-all-words 字符串查找
    最长公共子序列 (LCS) 详解+例题模板(全)(转)
    MySQL常用命令
    数据库基础知识复习(转)
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4016590.html
Copyright © 2011-2022 走看看