mybatis中怎么写sql语句

select * from informa where people_name like CONCAT ('%a%')
or company_id in(select id from company where company_name like CONCAT ('%a%') )
我想把这句在mybatis中实现,要怎么写,只要不为空的时候两个条件只要满足其中一个就可以,如果两个为空的时候就查询所有

<select id="queryUsers" parameterType="map" resultType="xx.xx.xx.bean.UserBean">
<![CDATA[
select
ID,
LOGIN_NAME AS loginName,
PASSWORD,
REAL_NAME AS realName,
POSITION,
(SELECT D.POSITION_NAME FROM UNIT_POSITION D WHERE D.POSITION_CODE=T.POSITION) POSITIONNAME,
USER_TYPE AS userType,
SEX,
PID,
TO_CHAR(T.BIRTHDAY,'YYYY-MM-DD') BIRTHDAY,
EMAIL,
CONTACT_TEL AS contactTel,
CONTACT_MOBILE AS contactMobile,
CONTACT_FAX AS contactFax,
CONTACT_ZIP AS contactZip,
CONTACT_ADDR AS contactAddr,
STATUS,
EDUCATION,
(SELECT D.EDUCATION_NAME FROM UNIT_EDUCATION D WHERE D.EDUCATION_CODE=T.EDUCATION AND D.STATUS=0) EDUCATIONNAME,
NATION,
POLITICAL,
REMARK,
TO_CHAR(T.CREATE_DATE,'YYYY-MM-DD HH24:MI:SS') createDate,
(SELECT D.REAL_NAME FROM UNIT_USER D WHERE D.ID= T.CREATE_USER_ID) createUserId,
TO_CHAR(T.UPDATE_DATE,'YYYY-MM-DD HH24:MI:SS') updateDate,
(SELECT D.REAL_NAME FROM UNIT_USER D WHERE D.ID= T.UPDATE_USER_ID) updateUserId
from UNIT_USER T
]]>
<where>
T.STATUS='1'
<if test="realName !=null and realName !=''">
and T.REAL_NAME like '%${realName}%'
</if>
<if test="nexusDpartment !=null">
AND T.ID IN (SELECT DISTINCT D.USER_ID FROM UNIT_USER_DEPT D WHERE D.DEPT_CODE IN (${nexusDpartment}))
</if>
<if test="deptCode !=null and deptCode !=''">
AND T.ID IN (SELECT DISTINCT D.USER_ID FROM UNIT_USER_DEPT D WHERE D.DEPT_CODE = #{deptCode})
</if>
</where>
<if test="sort != null and sort != ''">
order by ${sort}
<if test="direction != null and direction != ''">
${direction}
</if>
</if>
</select>
温馨提示:内容为网友见解,仅供参考
无其他回答

mybatis源码分析02:执行sql语句
在准备mybatis示例demo一文中,我们提供的测试主类如下:publicclassTest01{publicstaticvoidmain(String[]args)throwsException{\/\/配置文件路径Stringresource="org\/apache\/ibatis\/demo\/mybatis-config.xml";InputStreaminputStream=Resources.getResourceAsStream(resource);SqlSessionFactoryBuilderbuilder=newSqlSessionFactoryBuild...

MyBatis源码之MyBatis中SQL语句执行过程
MyBatis编程时主要有两种方式执行SQL语句。方式一,通过SqlSession接口的selectList方法调用,进入DefaultSqlSession的实现,最终调用executor的query方法,使用MappedStatement封装SQL语句。方式二,调用SqlSession接口的getMapper(Class type)方法,通过工厂创建接口的代理对象,调用MapperProxy的invoke方法,进一步执行Mappe...

【MyBatis系列3】MyBatis SQL执行流程
数据处理层在Mybatis初始化过程中加载mybatis-config.xml配置文件、映射配置文件以及Mapper接口中的注解信息,解析后的配置信息形成Configration对象,然后创建SqlSessionFactory对象。通过SqlSessionFactory创建SqlSession对象开始数据库操作。Mybatis实现动态SQL语句,几乎可以编写满足需要的SQL。Mybatis的scripting模块根...

mybatis中执行sqlserver语句报错,应该怎么写sql
mybatis 写sql需要在xml里面写还要有类似的标签 select 语句 这种

mybatis sql语句怎么使用&apos
配置showsql=true 在log4j.properties 添加 log4j.rootLogger=DEBUG, Console MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久...

mybatis怎么输出sql语句
将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句 log4j.rootLogger=debug,stdout,logfile 把日志信息输出到控制台 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout 把日志信息...

用最简单方法实现MyBatis动态SQL标签的用法详解
此外,bind 元素允许从 OGNL 表达式中创建变量,并将其绑定到上下文,进一步增强动态 SQL 的灵活性。MyBatis 还支持多数据库供应商的动态代码生成,通过配置 databaseIdProvider 可以根据不同的数据库类型构建特定的 SQL 语句。自 3.2 版本起,MyBatis 支持插拔式脚本语言,允许使用其他语言编写动态 SQL ...

mysql mybatis if else写法
mybatis 的 XML 文件编写 SQL 语句中,处理判断语句时,常见的写法为直接使用条件语句。例如查询所有用户信息,根据 ID 进行筛选:查询所有用户:select * from user 筛选特定 ID 的用户:where id = #{id} 然而,为了使代码逻辑更清晰,mybatis 提供了 choose, when, otherwise 三个元素实现条件判断...

mybatis注解方式随机抽取数据的sql语句怎么写?
首先,这么写绝对是可以的,如图:但是,你自己看你的代码,注解最后为什么多了一个分号?注解是一个属性,不是一条语句,所以不需要输入分号

mybatisplus是如何实现动态sql语句的?
具体方式一为使用EXECUTE IMMEDIATE,涉及的主要属性与执行结果。方式二为OPEN FOR,其中主要属性说明与执行结果。这里的'WHILE my_cur%FOUND'是一个循环控制语句,当游标找到记录时执行循环代码,直至无更多记录。动态非查询语句在GaussDB中实现与查询语句类似,通过非“SELECT语句”实现,如修改、插入等。总...

相似回答