zoukankan      html  css  js  c++  java
  • mybatis xml参数传递详解

    StudentMapper.java

    StudentMapper.xml

    1. 传入多个String类型参数, 使用@Param注解

    List<Student> getStudent(@Param("grade")String grade, @Param("class")String class,@Param("name")String name);
    复制代码
    <select id="getStudent" parameterType="java.lang.String" resultType="Student">
            select nn_grade, nn_class, nn_name, nn_age, nn_sex, nn_birthdate, nn_address from student
            <where>
            <if test="grade != null and grade != ''">
                and nn_grade=#{grade}
            </if>
            <if test="class != null and class != ''">
                and nn_class=#{class}
            </if>
            <if test="name != null and name != ''">
                and nn_name=#{name}
            </if>
            </where>
        </select>
    复制代码

    2. 传入多个String类型参数, 使用#{0},#{1},#{2}……

    List<Student> getStudent(String grade, String class,String name);
    复制代码
    <select id="getStudent" parameterType="java.lang.String" resultType="Student">
            select nn_grade, nn_class, nn_name, nn_age, nn_sex, nn_birthdate, nn_address from student
            <where>
            <if test="#{0} != null and #{0} != ''">
                and nn_grade=#{0}
            </if>
            <if test="#{1} != null and #{1} != ''">
                and nn_class=#{1}
            </if>
            <if test="#{2} != null and #{2} != ''">
                and nn_name=#{2}
            </if>
            </where>
        </select>
    复制代码

    3. 传入多个String类型参数, 使用Map

    grade,class,name是Map的key

    List<Student> getStudent(Map param);
    复制代码
    <select id="getStudent" parameterType="java.util.Map" resultType="Student">
            select nn_grade, nn_class, nn_name, nn_age, nn_sex, nn_birthdate, nn_address from student
            <where>
            <if test="grade != null and grade != ''">
                and nn_grade=#{grade}
            </if>
            <if test="class!=null and class!=''">
                and nn_class=#{class}
            </if>
            <if test="name!=null and name!=''">
                and nn_name=#{name}
            </if>
            </where>
        </select>
    复制代码

    4. 传入多个String类型参数, 使用对象Student

    grade,class,name是Student对象的属性

    List<Student> getStudent(Student stu);
    复制代码
    <select id="getStudent" parameterType="Student" resultType="Student">
            select nn_grade, nn_class, nn_name, nn_age, nn_sex, nn_birthdate, nn_address from student
            <where>
            <if test="grade != null and grade != ''">
                and nn_grade=#{grade}
            </if>
            <if test="class!=null and class!=''">
                and nn_class=#{class}
            </if>
            <if test="name!=null and name!=''">
                and nn_name=#{name}
            </if>
            </where>
        </select>
    复制代码

    5. 传入单个基本类型和String类型等参数, 使用_parameter或#{0}

    List<Student> getStudentByName(Student stu);
    复制代码
    <select id="getStudentByName" parameterType="java.lang.String" resultType="Student">
            select nn_grade, nn_class, nn_name, nn_age, nn_sex, nn_birthdate, nn_address from student
            <where>
            <if test="_parameter!=null and _parameter!=''">
                and nn_name=#{_parameter}
            </if>
            </where>
        </select>
    复制代码
    复制代码
    <select id="getStudentByName" parameterType="java.lang.String" resultType="Student">
            select nn_grade, nn_class, nn_name, nn_age, nn_sex, nn_birthdate, nn_address from student
            <where>
            <if test="#{0}!=null and #{0}!=''">
                and nn_name=#{0}
            </if>
            </where>
        </select>
    复制代码

    6. 传入单个基本类型和String类型等参数, 使用_parameter或#{0}

  • 相关阅读:
    设计模式之美学习-接口隔离原则(七)
    设计模式之美学习-里式替换原则(六)
    设计模式之美学习-开闭原则(五)
    设计模式之美学习-设计原则之单一职责(四)
    设计模式之美学习-如何进行面向对象设计(三)
    ffmpeg 从内存中读取数据(或将数据输出到内存)
    CImage 对话框初始化时候显示透明 PNG
    RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)
    RTMPdump(libRTMP) 源代码分析 8: 发送消息(Message)
    RTMPdump(libRTMP) 源代码分析 7: 建立一个流媒体连接 (NetStream部分 2)
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/14841623.html
Copyright © 2011-2022 走看看