ibatis动态语句

问题描述

有两个动态变量,emp_name、empNo当emp_name不为空时,拼接如下EMP_IDIN(SELECTEMP_IDFROMbase_sys_userWHEREEMP_NAMELIKE'%$emp_name$%')当empNo不为空时,拼接如下EMP_IDIN(SELECTEMP_IDFROMbase_sys_userWHEREEMP_NOLIKE'%$empNo$%')两个不为空时,拼接如下EMP_IDIN(SELECTEMP_IDFROMbase_sys_userWHEREEMP_NAMELIKE'%$emp_name$%'andEMP_NOLIKE'%$empNo$%')并且EMP_IDIN(SELECTEMP_IDFROMbase_sys_userWHEREXXOO...)这句是在emp_name或者empNo任意一个不为空的情况下才参与整个动态语句的拼接,求各位帮哈忙,谢谢!

解决方案

解决方案二:
SELECTEMP_IDFROMbase_sys_user<where>1=1<iftest='emp_name!=null'>andEMP_NAMELIKE'%'||#{emp_name}||'%'</if><iftest='empNo!=null'>andEMP_NAMELIKE'%'||#{empNo}||'%'</if></where>

时间: 2024-09-20 06:48:28

ibatis动态语句的相关文章

ibatis动态语句中的prepend

关于ibatis动态sql的prepend的属性,我们需要理解一下几点 select * from student <dynamic prepend="where">  <isNotNull property="id" prepend="and">   id = #id#  </isNotNull>  <isNotNull property="name" prepend="a

ibatis动态语句不同的写法

  所谓的不同写法当然原理一样,只不过我觉得第二种更加清晰和原生一些.   写法一:  <sql id="queryCondition">   <dynamic prepend="WHERE">    <isNotEmpty prepend="and" property="stuNum">     <![CDATA[  num= #stuNum# ]]>    </isNo

动态语句语法:exec\sp_executesql语法(转载)

--动态语句语法 /****************************************** 动态语句语法:exec\sp_executesql语法 整理人:中国风(Roy) 日期:2008.06.06 *******************************************/ 动态语句语法: --方法1查询表改为动态select * from sysobjectsexec('select ID,Name from sysobjects')exec sp_execute

ibatis中动态语句的iterate标签

  例子一   查询条件dto public class queryCondition {  private String[] stuIds; private String name; } 查询sqlMap <select id="selectStu" parameterClass="cn.xy.queryCondition" resultClass="cn.xy.Student">  select id,name from stud

转:ibatis动态sql

直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值.参数本身和数据列都是动态SQL,通常是非常困难的.典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的字符串连接.对于这个问题,Ibatis提供了一套标准的相对比较清晰的方法来解决一个问题,这里有个简单的例子:     <select id="getUserList" resultMap="user">          select * from user            

ibatis sql语句 大于等于号的问题

问题描述 刚接触IBATIS,希望大家能够帮忙看一下.<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap><typeAli

Ibatis动态(dynamic)查询

Ibatis的动态查询使得数据操作变得非常的灵活,下次举出了常用的动态查询的属性信息: Ibatis配置信息 Xml代码   <!-- Dynamic Sql -->     <typeAlias alias="Student" type="com.ibatis.Student" />       <typeAlias alias="StudentDTO" type="com.ibatis.Studen

模仿ibatis动态sql时,对于命名sql配置文件更改后,怎么及时知道或者监控配置文件发生变化,从而刷新我的缓存

问题描述 如果题目描述的不清楚可以看看我的思路,或者给我提一下建议,小弟不胜感激对ibatis不是很了解由于团队人员基础比较差想做一个类似ibatis的动态sql来查询结果集只用配置相应的sql,返回自己想要的结果集就OK了.此时遇到一个问题:开发时,比如说有不同的人员写了很多个配置文件,此时我是把配置文件在容器启动时,一起读到我的缓存中的.程序运行时,从缓存中拿数据.这就导致了一个问题,如果在容器启动时,更改并保存文件,这时候文件发生变化了,我此时我缓存还是拿的之前的数据.现在的解决办法是,每

ibatis动态查找出错

问题描述 <select id="getByTypeIDs" resultMap="result"> SELECT DET_NAME FROM TYPE_DEATAIL <dynamic prepend="where"> <iterate property="detTypeId" open="(" close=")" conjunction="or