• 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}

  • 相关阅读:
    VS2008环境下的Freeglut 2.6.0配置
    Qt Creator and Clang
    qml 4.8 bug: ListView.view不能访问
    Qt platform mkspecs
    未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序
    SSIS学习之数据挖掘
    SQL循环执行while控制
    SQL Server查询优化50法
    SSAS使用时间智能解决本年累计、同比、环比【转载】
    企业信息门户:EIP系统
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/14841623.html
Copyright © 2020-2023  润新知