if

    @Select({"<script>",
"SELECT " +
" mu.id userId, " +
" eui.id userInfoId, " +
" mu.user_name userName, " +
" com.company_id AS comId, " +
" com.company_name comName, " +
" eui.talent_type talentType, " +
" eui.self_introduction selfIntroduction, " +
" eui.working_years workingYears, " +
" eui.education education, " +
" mu.icon_url iconUrl " +
" FROM " +
" mky_user mu, " +
" em_company c, " +
" em_company_record com, " +
" em_user_info eui, " +
" em_aptitude_maintain_approve ea " +
" WHERE 1=1 ",
" <when test='searchStr!=null'> ",
" AND ( mu.user_name LIKE #{searchStr} OR com.company_name LIKE #{searchStr} ) ",
" </when> ",
" <when test='firstId!=null'> ",
" AND ea.first_id = #{firstId} ",
" </when> ", " <when test='secondId!=null'> ",
" AND ea.second_id = #{secondId} ",
" </when> ", " <when test='threeId!=null'> ",
" AND ea.three_id = #{threeId} ",
" </when> ",
" <when test='startDate!=null'> ",
" AND ea.end_date &gt; #{startDate} ",
" </when> ",
" <when test='endDate!=null'> ",
" AND ea.end_date &lt; #{endDate} ",
" </when> ",
" AND c.id = com.company_id " +
" AND mu.com_id = c.id " +
" AND mu.id = eui.user_id " +
" AND eui.page_display_flag = 1 " +
" AND ea.user_info_id = eui.id " +
" AND ea.end_date &gt; DATE_FORMAT( now( ), '%Y-%m-%d' ) " + " AND mu.del_flag = 0 " +
" AND ea.del_flag = 0 " +
" AND eui.del_flag = 0 " +
" AND c.del_flag = 0 " +
" AND com.del_flag = 0 " + " GROUP BY eui.id " +
" ORDER BY " +
" eui.update_date DESC " + " </script> "})
List<TalentsResultVo> selectAllTalentsByParams(@Param("firstId") String firstId, @Param("secondId") String secondId, @Param("threeId") String threeId, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("searchStr") String searchStr);

循环

    @Select({
" <script> ",
" select ",
" id ,stream_id 'streamId' , project_id 'projectId' ,push_stream_addr 'pushStreamAddr' , rtmp_play_addr 'rtmpPlayAddr' , flv_play_addr 'flvPlayAddr' , hls_play_addr 'hlsPlayAddr' , monitor_state 'monitorState', monitor_name 'monitorName' , note, state_reason 'stateReason' , ip_addr 'ipAddr' ",
" from bi_real_time_monitoring ",
" where project_id in ",
" <foreach collection='projectIds' item='id' open='(' separator=',' close=')'> ",
" #{id} ",
" </foreach> ",
" and delFlag =0 and monitor_state != 2 ",
" </script> "
}) List<BiRealTimeMonitoring> selectBiRealTimeMonitoringByProjectIds(@Param("projectIds") List<String> projectIds);

注意一个报错

注意一个报错

 

mapper @Select()注解开发,使用模板 if 和循环的更多相关文章

  1. Spring笔记04_AOP注解开发_模板_事务

    目录 1. Spring基于AspectJ的注解的AOP开发 1. 1 SpringAOP的注解入门 1.2 Spring的AOP的注解通知类型 1.2.1 @Before:前置通知 1.2.2 @A ...

  2. Spring---AOP注解开发&jdbc模板&Spring事务管理

    一.AOP注解开发 此处需要回忆一遍AOP的概念.简单的来说,AOP就是利用动态代理技术,做到不触动源代码但却扩展了功能.那么就需要一个被扩展的对象和一个“新的功能”,例如说给某类的saveUser方 ...

  3. Spring_AOP基于AspectJ的注解开发&JDBC的模板使用&事务管理(学习笔记3)

    一:AOP基于AspectJ的注解开发 1,简单的实例: 1)引入相应的jar包 ​ 2)在配置文件里引入相关约束 <beans xmlns="http://www.springfra ...

  4. spring boot纯注解开发模板

    简介 spring boot纯注解开发模板 创建项目 pom.xml导入所需依赖 点击查看源码 <dependencies> <dependency> <groupId& ...

  5. Spring入门(三)— AOP注解、jdbc模板、事务

    一.AOP注解开发 导入jar包 aop联盟包. aspectJ实现包 . spring-aop-xxx.jar . spring-aspect-xxx.jar 导入约束 aop约束 托管扩展类和被扩 ...

  6. Mybatis注解开发

    mybatis 的常用注解: @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与 @Res ...

  7. Struts2------拦截器和标签库和注解开发

    一.解析Struts2源码中拦截器的执行 客户端请求Action,执行前端控制器,在前端控制器内部创建了Action的代理类,调用代理类的execute方法,在execute方法内部执行ActionI ...

  8. SpringMVC-Mybatis整合和注解开发

    SpringMVC-Mybatis整合和注解开发SpringMVC-Mybatis整合整合的思路在mybatis和spring整合的基础上 添加springmvc.spring要管理springmvc ...

  9. MyBatis框架之注解开发

    MyBatis注解开发 @Insert注解注解属性value:写入SQL语句 @Options注解实现添加新数据的主键封装注解属性useGeneratedKeys:使用生成的主键,配置为truekey ...

随机推荐

  1. linux--安全加固脚本

    Linux安全加固配置 #! /bin/bash# copyright by hwb# Function:对账户的密码的一些加固read -p "设置密码最多可多少天不修改:" A ...

  2. Vue 单元测试 使用mocha+jest

    目录 Vue 单元测试 mocha+jest jest 实例 mocha expect方法断言 示例代码 Vue 单元测试 官网:https://vue-test-utils.vuejs.org/zh ...

  3. Android NDK 学习之在C中抛出异常

    本博客主要是在Ubuntu 下开发,且默认你已经安装了Eclipse,Android SDK, Android NDK, CDT插件. 在Eclipse中添加配置NDK,路径如下Eclipse-> ...

  4. Linux基础命令汇总109条

    1       文件管理 1.1     basename 1.1.1     功能说明 从文件名中去掉路径和扩展名 例:basename include/stdio.h .h Output &quo ...

  5. java List<String>的初始化 的一个小问题

    今天在处理生成excel的时候用到了java的list,但是需要直接赋值固定的几个变量,如果先初始化然后add的方法: List<String> name = new ArrayList( ...

  6. Java中异常关键字throw和throws使用方式的理解

    Java中应用程序在非正常的情况下停止运行主要包含两种方式: Error 和 Exception ,像我们熟知的 OutOfMemoryError 和 IndexOutOfBoundsExceptio ...

  7. pycharm连接数据库

    今天说说如何使用pycharm连接oracle数据库 1.首先你需要安装oracle数据库 2.在pycharm中安装cx_Oracle.在file->settings->Project- ...

  8. RestFramework之认证组件

    一.认证组件的介绍 对于认证,我们一般有三种方式,即cookie, session,token, cookie,是将信息存放在客户端(浏览器上),信息不安全: session,把信息放在服务器数据库中 ...

  9. 【问题】man命令打开的手册上链接怎么展开?

    参考:How to follow links in linux man pages? 前言 在使用man查看命令帮助的时候,有些文字下面会有下划线.给人的感觉是一个链接,但是又打不开.那么到底是不是链 ...

  10. 在STM32F746G-DISCO开发板上使用Nabto + FreeRTOS的演示热泵应用

    当使用STM32 ARM Cortex-M微控制器时,ST的免费嵌入式软件STM32Cube提供了所有必要的驱动程序和中间件组件,以减少初始的开发工作.在上述提到的中间件组件中,其中一个是非常受欢迎的 ...