首页 > 数据库 >动态sql

动态sql

时间:2023-10-11 16:57:30浏览次数:43  
标签:ename empno job emp sql 动态 select

if

 <select id="getEmpById" parameterType="emp" resultType="emp">
    select *  from emp 
   <where> 
    <if test="ename!=null and ename!=''">
      ename=#{ename}
    </if>
    <if test="job!=null and job!=''">
      and job=#{job}
    </if>
    </where>
   
  </select>

 

where

 

set

 <update id="upadatEmp" parameterType="emp">
   update emp
   <set> 
    <if test="ename!=null and ename!=''">
     ename=#{ename},
    </if>
    <if test="job!=null and job!=''">
    job=#{job}
    </if>
    <where>
       <if test="empno!=null">
          empno=#{empno}
       </if>
    </where>
   </set>
  </update>

trim

prefix:要增加的前缀

prefixOverrides:要去除的前缀

suffix:要增加的后缀

suffixOverrides:要去除的后缀

 <select id="getEmptrim" parameterType="emp" resultType="emp">
    select *  from emp 
   <trim prefix="where" prefixOverrides="and | or">
      <if test="ename!=null and ename!=''">
        and ename=#{ename}
      </if>
      <if test="job!=null and job!=''">
      and job=#{job}
      </if>
   </trim>
  </select>

 

标签:ename,empno,job,emp,sql,动态,select
From: https://www.cnblogs.com/zhangsai/p/17757511.html

相关文章

  • 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效
    解决PowerDesigner16GenerateDatebaseForSql2005/2008对象名sysproperties无效的问题在PowerDesigner16中生成的sql语句,在执行的时候报错:对象名sysproperties无效的错误;造成此问题的原因是由于Sql2005、2008删除了系统表sysproperties而改用sys.extended_proper......
  • mysql 删除数组 json 字段中的某个指定值
    例:SELECTcar_imgFROMlogistics_car_infoWHEREcar_id=2--结果为:["1","2","3","4"]SELECTJSON_SEARCH(car_img,'one','4')FROMlogistics_car_infoWHEREcar_id=2--结果为:"$[3]"SELE......
  • MySQL的行锁和表锁机制
    一、引言​ 在数据库管理系统中,锁是用来控制对数据的访问的机制。MySQL既支持行级锁(Row-levelLocking),也支持表级锁(Table-levelLocking)。​ MySQL引擎中,MyISAM不支持行锁,而InnoDB支持行锁和表锁。二、行锁(Row-levelLocking)​ 行锁是指对数据表中的一行记录进行锁定,其他事......
  • mysql 中 timestampdiff 一个让人费解的问题
    取当前时间 使用上面取到的时间与now()使用timestampdiff进行month级别比较 将上面取到的日期递增一个月再次比较 结果让人很费解 在此给自己提个醒,mysql单纯使用日期还是用 current_date吧......
  • nz-table数据动态横向合并
     原文链接:https://www.longkui.site/program/frontend/nz-table/4865/先上效果图:环境:angular+ng-zorro原理:遍历json数据,对相同的json数据进行计数,然后把相同的json数据统一加上rowspan的长度,然后这些相同的json数据从0开始编号。原始的json数据:letjsonData2=[{......
  • 在Ubuntu22.04上安装MySQL-Server,并配置可视化界面SQL-Workbench
    在Ubuntu22.04上安装MySQL-Server,并配置可视化界面MySQL-Workbench彻底删除MySQL若您是首次,在Ubuntu22.04上崭新安装mysql,可以略过该步。首先卸载mysql-common:sudoapt-getremovemysql-common然后卸载已经安装的mysql-server:sudoapt-getautoremove--purgemysql-ser......
  • 定位SQL慢查询
    一、概念MySQL的慢查询(慢查询日志):是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值的语句。具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是记录运行10秒以上的语句。默认情况下,MySQL数据库并不启......
  • mysql插入数据时遇到的问题
    1、 Illegalmixofcollations(latin1_swedish_ci,IMPLICIT)and(utf8mb4_general_ci,COERCIBLE)foroperation'=' 解决:原因:因为新创建的表字符集是latin1_swedish_ci,而原有的字符集需要utf8mb4_general_ci,所以报错。ALTERTABLE表名CONVERTTOCHARACTER......
  • sql之having关键字的使用
    Havinghaving主要用于过滤groupby之后的聚合函数例如:现在有user表user_ididcardnameage112345张三18212345张三18354321李四20可以利用having查询出重复的字段数selectuser.idcard,count(*)fromuser......
  • Debian12安装MySQL8实践及问题解决方案
    Debian12安装MySQL数据库,常规操作:sudoaptsearchmysql&sudoaptinstallmysql,肯定是行不通的,因为没有安装包。把我的安装过程以及遇到问题的解决方案记录下来,供大家借鉴。第一步更新系统、下载软件包命令如下:sudoaptupdatewgethttps://dev.mysql.com/get/mysql-apt-co......