zoukankan      html  css  js  c++  java
  • mybatis的动态sql

    1.if 标签

      注意:where 1=1是为了避免当uId不传值时,会导致生成bad sql

    <select id="getStuByIf" resultType="com.itheima.pojo.TbStudent" parameterType="com.itheima.pojo.TbStudent">
        select * from tb_student where 1=1
        <if test="uId!=null and uId!='' ">
         and   u_id=#{uId}
        </if>
    
        <if test="uName!=null and uName!=''">
            and    u_name=#{uName}
        </if>
    
        <if test="sex!=null and sex!=''">
            and  sex=#{sex}
        </if>
    
        <if test="tId!=null and tId!=''">
            and    t_id=#{tId}
        </if>
    </select>
      TbStudent student = new TbStudent();
         //   student.setuId(2);
            student.setuName("lisi");
            student.setSex("男");
            List<TbStudent> stu = tbStudentMapper.getStuByIf(student);
            System.out.println(stu);



     Preparing: select * from tb_student where 1=1 and u_name=? and sex=?

    2.where 标签

      改进if标签

    <select id="getStuByIf" resultType="com.itheima.pojo.TbStudent" parameterType="com.itheima.pojo.TbStudent">
        select * from tb_student
        <where>
        <if test="uId!=null and uId!='' ">
           and  u_id=#{uId}
        </if>
    
        <if test="uName!=null and uName!=''">
            and    u_name=#{uName}
        </if>
    
        <if test="sex!=null and sex!=''">
            and  sex=#{sex}
        </if>
    
        <if test="tId!=null and tId!=''">
            and    t_id=#{tId}
        </if>
        </where>
    </select>
  • 相关阅读:
    2020软件工程作业02
    2020软件工程作业01
    并发编程—协程
    并发编程—线程
    并发编程—进程
    python网络编程总结
    前端-Javascript
    前端-jQuery
    前端-CSS
    前端-Html
  • 原文地址:https://www.cnblogs.com/liudingwei/p/12764081.html
Copyright © 2011-2022 走看看