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>
  • 相关阅读:
    Linux基础知识整理
    小白学习之路,基础四(函数的进阶)
    关于高通量数据格式
    数据库管理系统
    Linux 基本操作
    生信研究内容
    redis6 多线程特性
    Centos8配置NFS4
    关于Mybatis将查询结果中添加常量列并返回
    关于swagger文档的使用方法
  • 原文地址:https://www.cnblogs.com/liudingwei/p/12764081.html
Copyright © 2011-2022 走看看