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}

  • 相关阅读:
    RabbitMQ + topic发送消息+python
    maven下载依赖jar包失败处理方法--下载jar包到本地并安装到maven仓库中
    Jmeter--thrift接口压测
    将jar文件加到maven的local repository中
    在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上
    linux iptables 开启和关闭服务端口号
    centos 安装PGSQL
    pgsql 常用的命令
    web压力测试工具
    centos安装 mysql
  • 原文地址:https://www.cnblogs.com/duanhm234/p/7749415.html
Copyright © 2011-2022 走看看