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的元素。
  • 相关阅读:
    为什么webstrom无法格式化代码?
    总结jq的一些特效
    欢迎自己入住博客
    JavaScript基础
    HTTP协议的概念作用和特点
    STM32(二十五)读写内部flash
    STM32(二十四)MDK编译过程以及文件类型全解
    STM32(二十三)RTC-实时时钟
    STM32(二十二)DAC输出正弦波
    STM32(二十一)SDIO-SD卡读写测试
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4016591.html
Copyright © 2011-2022 走看看