- 浏览: 398626 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (760)
- 股票日志 (26)
- Selenium (0)
- selenium 2 环境的搭建 (1)
- 并发 (7)
- 框架开发 (1)
- 动态代理 (2)
- Struts2 (2)
- POI (2)
- jdk (3)
- maven (31)
- spring (35)
- mysql (31)
- 工作机会 (3)
- xtream (1)
- oracle dbms_metadata GET_DDL (0)
- SSI (1)
- DB (61)
- powermock (4)
- java 基础 (25)
- 多线程 (11)
- 高手 (2)
- java 底层 (2)
- 专业网站 (1)
- 开发联想 (1)
- 开发联想 (1)
- bat文件 (2)
- 清queue 语句 (1)
- 清queue 语句 (1)
- jquery (7)
- html5 (1)
- Jenkins (10)
- Linux (17)
- 工作issue (2)
- tomcat log (3)
- jvm (23)
- 项目细节 (0)
- oracle (41)
- 泛型 (3)
- 新知识点 (1)
- 数据库ddl 语句 (0)
- AQ (2)
- jms (0)
- 网络资源 (6)
- github (6)
- Easymock (1)
- Dom 解析XML (1)
- windows命令 (2)
- java (7)
- 正则表达式 (5)
- sequence (1)
- oracle 表meta信息 (1)
- 小工具技巧 (1)
- 辅助工具 (1)
- Junit (1)
- 泛型 generic (2)
- Java程序设计 (1)
- cglib (2)
- 架构师之路 (1)
- 数据库连接池 (5)
- c3p0 (1)
- eclipse使用 (1)
- oracle sql plus (1)
- 码农人生 (3)
- SVN (15)
- sqlplus (2)
- jsoup (1)
- 网络爬虫 (2)
- 新技能 (1)
- zookeeper (4)
- hadoop (1)
- SVNKIT (1)
- 从工具到知识点的整理 (1)
- log4j (13)
- 读文件 (0)
- 转义字符 (1)
- command (1)
- web service (3)
- 锁 (1)
- shell 脚本 (1)
- 遇到的错误 (2)
- tomcat (14)
- 房产 (5)
- bootstrap jquery ui (1)
- easyui (2)
- 个人征信 (1)
- 读写分离 (1)
- 备份 (1)
- rmi (6)
- webservice (1)
- JMX (4)
- 内存管理 (3)
- java设计 (1)
- timer (1)
- lock (2)
- concurrent (2)
- collection (1)
- tns (1)
- java基础 (15)
- File (1)
- 本机资源 (1)
- bat (1)
- windows (4)
- 数据结构 (3)
- 代码安全 (1)
- 作用域 (1)
- 图 (2)
- jvm内存结构 (1)
- 计算机思想 (1)
- quartz (6)
- Mongo DB (2)
- Nosql (4)
- sql (5)
- 第三方Java 工具 jar 项目 (2)
- drools (1)
- java swing (2)
- 调用console (1)
- runtime (1)
- process (1)
- swing (2)
- grouplayout (1)
- dubbo (0)
- bootstrap (0)
- nodejs (2)
- SVN hooks (1)
- jdbc (3)
- jdbc error (1)
- precedure (1)
- partition_key (1)
- active mq (1)
- blob (2)
- Eclipse (6)
- web server (1)
- bootstrapt (2)
- struts (1)
- ajax (1)
- js call back (1)
- 思想境界拓展 (1)
- JIRA (1)
- log (1)
- jaxb (3)
- xml java互相转换 (1)
- 装修 (2)
- 互联网 (2)
- threadlocal (3)
- mybatis (22)
- xstream (1)
- 排序 (1)
- 股票资源 (1)
- RPC (2)
- NIO (3)
- http client (6)
- 他人博客 (1)
- 代理服务器 (1)
- 网络 (2)
- web (1)
- 股票 (5)
- deadlock (1)
- JConsole (2)
- activemq (3)
- oralce (1)
- 游标 (1)
- 12月13日道富内部培训 (0)
- grant (1)
- 速查 (2)
- classloader (4)
- netty (4)
- 设计模式 (2)
- 缓存 (2)
- ehcache (2)
- framework (1)
- 内存分析 (2)
- dump (1)
- memory (2)
- 多高线程,并发 (1)
- hbase (2)
- 分布式系统 (1)
- socket (3)
- socket (1)
- 面试问题 (1)
- jetty (2)
- http (2)
- 源码 (1)
- 日志 (2)
- jni (1)
- 编码约定 (1)
- memorycache (1)
- redis (13)
- 杂谈 (1)
- drool (1)
- blockingqueue (1)
- ScheduledExecutorService (1)
- 网页爬虫 (1)
- httpclient (4)
- httpparser (1)
- map (1)
- 单例 (1)
- synchronized (2)
- thread (1)
- job (1)
- hashcode (1)
- copyonwriteArrayList (2)
- 录制声音 (1)
- java 标准 (2)
- SSL/TLS (1)
- itext (1)
- pdf (1)
- 钻石 (2)
- sonar (1)
- unicode (1)
- 编码 (4)
- html (1)
- SecurityManager (1)
- 坑 (1)
- Restful (2)
- svn hook (1)
- concurrentHashMap (1)
- 垃圾回收 (1)
- vbs (8)
- visual svn (2)
- power shell (1)
- wmi (3)
- mof (2)
- c# (1)
- concurrency (1)
- 劳动法 (1)
- 三国志游戏 (2)
- 三国 (1)
- 洪榕 (2)
- 金融投资知识 (1)
- motan (1)
- tkmybatis mapper (1)
- 工商注册信息查询 (1)
- consul (1)
- 支付业务知识 (2)
- 数据库备份 (1)
- 字段设计 (1)
- 字段 (1)
- dba (1)
- 插件 (2)
- PropEdit插件 (1)
- web工程 (1)
- 银行业知识 (2)
- 国内托管银行 (1)
- 数据库 (1)
- 事务 (2)
- git (18)
- component-scan (1)
- 私人 (0)
- db2 (14)
- alias (1)
- 住房 (1)
- 户口 (1)
- fastjson (1)
- test (6)
- RSA (2)
- 密钥 (1)
- putty (1)
- sftp (1)
- 加密 (1)
- 公钥私钥 (3)
- markdown (1)
- sweet (1)
- sourcetree (1)
- 好工具 (1)
- cmd (1)
- scp (1)
- notepad++ (1)
- ssh免密登录 (1)
- https (1)
- ssl (2)
- js (2)
- h2 (1)
- 内存 (2)
- 浏览器 (1)
- js特效 (1)
- io (1)
- 乱码 (1)
- 小工具 (1)
- 每周技术任务 (1)
- mongodb (7)
- 内存泄漏 (1)
- 码云 (2)
- 如何搭建java 视频服务器 tomcat (1)
- 资源 (1)
- 书 (1)
- 四色建模法 (1)
- 建模 (1)
- 配置 (1)
- 职位 (1)
- nginx (1)
- excel (1)
- log4j2 (2)
- 做菜 (1)
- jmap (1)
- jspwiki (1)
- activiti (1)
- 工作流引擎 (1)
- 安卓 (1)
- acitviti 例子 (1)
- 二维码 (1)
- 工作流 (1)
- powerdesign (2)
- 软件设计 (1)
- 乐观锁 (1)
- 王者荣耀 (1)
- session (2)
- token (5)
- cookie (4)
- springboot (24)
- jwt (2)
- 项目路径 (1)
- magicbook (1)
- requestType (1)
- json (2)
- swagger (1)
- eolinker (1)
- springdata (1)
- springmvc (1)
- controlleradvice (1)
- profile (1)
- 银行四要素 (1)
- 支付人员资源 (1)
- 支付渠道 (1)
- yaml (1)
- 中文编码 (1)
- mongo (2)
- serializable (1)
- 序列化 (1)
- zyd (1)
- unittest (1)
- 工具 (1)
- Something (1)
- 通达信 (1)
- protobuf (1)
- 算法 (1)
- springcloud (2)
- hikari (1)
- rocketmq (7)
- cachecloud (1)
- serfj (1)
- axure (1)
- lombok (1)
- 分布式锁 (1)
- 线程 (2)
- 同步代码块 (1)
- cobar (1)
- mq (1)
- rabbitmq (1)
- 定时执行 (1)
- 支付系统 (3)
- 唱歌 (1)
- elasticjob (1)
- 定时任务 (1)
- 界面 (1)
- flink (2)
- 大数据 (1)
- 接私活 (0)
- 内部培训 (2)
最新评论
-
dannyhz:
做股票从短线 试水,然后 慢慢发现 波段和 中期的故事可挖, ...
搭台唱戏 -
dannyhz:
http://developer.51cto.com/art/ ...
如何自己开发框架 它的注意点是什么
引用
特别注意两点 一个是where 的用法
group的用法
case when的用法
<if test='hasLoanApplicationFlag == "1"'>
这个对string的比较 是单引号 括起test后面的整串, 然后 == 然后双引号括起比较的字符串内容
引用
<select id="querySalesmanAndLoanInfoList" parameterType="com.zyd.orders.placeorder.model.SalesmanDO"
resultType="com.zyd.orders.placeorder.model.SalesmanDO">
select T.salesmanId, T.salesmanCode, T.salesmanName, T.idNo, T.idType,T.phoneNo, T.channelId,T.registerDate, T.profession, T.email,
T.sumLoanAppCount, T.sumInProgressCount, T.sumFailLoanCount,T.sumReleaseCount,T.sumReleaseAmount ,T.channelName
from
(SELECT
s.salesman_id as salesmanId,
s.salesman_code as salesmanCode,
s.salesman_name as salesmanName,
s.id_no as idNo,
s.id_type as idType,
s.phone_no as phoneNo,
s.channel_id as channelId,
s.register_date as registerDate,
s.profession as profession,
s.email as email,
s.login_total_times,
count(case when ob.apply_status > 0 then ob.apply_status end) as sumLoanAppCount,
count(case when ob.apply_status > 1 and ob.apply_status < 6 then ob.apply_status end) as sumInProgressCount,
count(case when ob.apply_status = 7 then ob.apply_status end) as sumFailLoanCount,
count(case when ob.release_status = 1 then ob.release_status end) as sumReleaseCount,
sum(case when ob.release_status = 1 then ob.release_money end) as sumReleaseAmount,
c.channel_name as channelName
from salesman s left join order_base ob
on s.salesman_id = ob.user_id
left join channel_vendor c
on s.channel_id = c.channel_id
<where>
<if test="salesmanId != null and salesmanId != ''">
AND s.salesman_id = #{salesmanId}
</if>
<if test="phoneNo != null and phoneNo != ''">
AND s.phone_no = #{phoneNo}
</if>
<if test="password != null and password != ''">
AND s.password = #{password}
</if>
<if test="salesmanName != null and salesmanName != ''">
AND s.salesman_name = #{salesmanName}
</if>
<if test="idNo != null and idNo != ''">
AND s.id_no = #{idNo}
</if>
<if test="cardNo != null and cardNo != ''">
AND s.card_no = #{cardNo}
</if>
<if test="loanApplicationCode != null and loanApplicationCode != ''">
AND ob.id = #{loanApplicationCode}
</if>
<if test="registerBeginDate != null">
AND s.register_date >= #{registerBeginDate}
</if>
<if test="registerEndDate != null">
AND s.register_date <= #{registerEndDate}
</if>
</where>
group by s.salesman_id,s.salesman_code,s.salesman_name,s.id_no,s.id_type,s.phone_no,s.channel_id,s.register_date,s.profession,s.email,s.login_total_times
) T
<where>
<if test='hasLoanApplicationFlag == "1"'>
AND T.sumLoanAppCount > 0
</if>
</where>
</select>
引用
select * from (
SELECT
s.salesman_id as salesmanId,
s.salesman_name as salesmanName,
s.id_no as idNo,
s.id_type as idType,
s.phone_no as phoneNo,
s.channel_id as channelId,
s.register_date as registerDate,
s.profession as profession,
s.email as email,
count(case when ob.apply_status = 7 then ob.apply_status else 0 end) as reject_count,
count(case when ob.apply_status > 1 and ob.apply_status < 6 then ob.apply_status else 0 end) as inprogress_count,
count(case when ob.apply_status > 0 then ob.apply_status else 0 end) as total_count,
count(case when ob.release_status = 1 then ob.apply_status else 0 end) as release_status,
sum(case when ob.release_status = 1 then ob.release_money else 0 end) as total_release_amt
from salesman s left join order_base ob
on s.salesman_id = ob.user_id
where s.salesman_id = 1
group by s.salesman_id,s.salesman_name,s.id_no,s.id_type,s.phone_no,s.channel_id,s.register_date,s.profession,s.email
) t
发表评论
-
mybatis 中 selectkey的作用
2018-09-21 19:07 600引用 https://blog.csdn.net/czd335 ... -
关于 多个值不同的处理 比如channelid 为空和非空的处理
2018-07-21 16:00 1978引用 <update id="update& ... -
mybatis调用查询日期
2018-07-19 22:42 578引用 dao: List<Date> getLa ... -
根据status来分组
2018-07-18 18:42 341引用 根据 apply_status 的值 来分类 ... -
mybatis plus的文档
2018-07-11 19:31 532引用 http://mp.baomidou.com/#/qui ... -
springboot mybatis详解
2018-07-11 19:30 366引用 https://blog.csdn.net/mickjo ... -
mybatis对乐观锁的 支持例子
2018-05-28 20:45 674引用 https://blog.csdn.net/zhouz ... -
mybatis timeout = 60 加上一个时间 可以让sql时间更长
2018-04-13 19:46 1180引用 <select id="fi ... -
mybatis 的分段插入大量数据的完整方法
2018-04-10 18:33 720https://blog.csdn.net/java_mr_z ... -
前三句可以打印 mybatis log
2018-03-25 21:46 459引用 @Test public void test( ... -
mybatis 转义字符
2018-03-22 20:13 488引用 <= <= ... -
深入了解 mybatis的事务机制 cliton begin写的代码
2018-03-16 11:03 775http://blog.csdn.net/u010987379 ... -
批量插入数据
2018-01-04 20:57 405https://www.cnblogs.com/LiQ0116 ... -
MyBatis-Spring整合 注入SqlSessionTemplate
2018-01-04 20:41 701http://blog.csdn.net/qq_3965444 ... -
mybatis 处理批量数据更新
2018-01-04 04:35 1042http://www.blogjava.net/diggbag ... -
基于注解的Spring多数据源配置和使用
2017-12-24 18:39 457https://www.cnblogs.com/liujidu ... -
mybatis的 SqlSessionFactory 详细解释
2017-12-24 18:29 592http://blog.csdn.net/u013412772 ... -
mybatis 中 _parameter的变量的使用
2017-12-24 15:57 345http://blog.csdn.net/u014476019 ... -
mybatis源码阅读
2017-12-24 15:54 348http://blog.csdn.net/wagcy/arti ... -
mybatis 兼容两种数据的写法
2017-12-24 15:53 532http://blog.csdn.net/java_mr_zh ...
相关推荐
本篇文章将详细探讨如何在MyBatis中执行String类型的自定义SQL,以及为何可能会选择不使用配置文件中的SQL。 首先,MyBatis的主要工作方式是通过Mapper接口和对应的XML配置文件来执行SQL。XML配置文件包含了SQL语句...
在处理CLOB类型时,MyBatis需要将Java对象中的String或Reader类型数据转换为CLOB,以便存储到数据库中。 1. **CLOB类型数据的插入** 当你需要将一个字符串或者Reader对象插入到CLOB字段时,MyBatis默认可能无法...
标题 "mybatis collection list string" 暗示了我们讨论的主题是关于MyBatis框架中与集合(List)和字符串(String)处理相关的问题。在MyBatis这个强大的持久层框架中,集合和字符串的使用非常常见,尤其是在进行数据库...
在使用mybatis框架对Oracle数据库进行查询操作时,如果使用char类型字段作为查询条件,可能会出现结果返回null的问题。这种情况下,需要对char类型字段进行特殊处理,以确保查询结果的正确性。 首先,需要了解...
MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis ...
MyBatis 提供了对 CLOB 和 BLOB 类型的内置支持,通过将 CLOB 类型映射到 Java 的 String 类型,BLOB 类型映射到 byte[] 类型。 在使用 MyBatis 时,需要在实体类中定义对应的字段类型,例如: ```java public ...
在使用MyBatis框架时,有时会遇到与String类型参数相关的问题,尤其是在编写Mapper XML文件时。本文将详细讨论这些问题以及相应的解决方案。 首先,我们来看第一个问题:**参数为String时的插值问题**。在MyBatis中...
本案例以"StringBoot整合Mybatis"为主题,旨在帮助开发者理解如何将这两个框架融合在一起,实现高效的数据访问。 首先,我们需要了解Spring Boot的核心特性。Spring Boot通过自动配置、起步依赖和内嵌Servlet容器,...
在MyBatis框架中,类型定义方式是其核心机制之一,它涉及到参数绑定、结果映射等关键功能。本文将详细解析MyBatis中的类型定义方式及其应用。 首先,MyBatis提供了多种类型处理器(TypeHandler),它们是MyBatis在...
mybatis一对多的查询方法详解! mybatis一对多的查询方法详解! mybatis一对多的查询方法详解! mybatis一对多的查询方法详解!
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在Java开发中,MyBatis常被用来处理与数据库之间的交互,极大地简化了原本繁琐的手动SQL操作,提升了开发效率。 标题中的"mybatis jar...
在使用MyBatis进行数据操作时,我们经常会遇到关于返回值类型的困扰,特别是涉及到基本类型int和对象类型Integer之间的转换。标题"mybatis返回Integer"指的是在MyBatis的映射文件或者Mapper接口中,使用Integer作为...
在使用MyBatis框架进行Java开发时,我们经常会遇到数据类型错误的问题,这些错误主要源自于数据库字段类型与Java对象属性类型不匹配、SQL语句中的类型转换不当或MyBatis配置文件中的设置错误。本篇文章将深入探讨...
在Mybatis中,TypeHandler起着至关重要的作用,它是Mybatis处理Java类型与JDBC类型之间转换的桥梁。这篇博文将深入探讨Mybatis的TypeHandler机制及其在实际开发中的应用。 TypeHandler的主要职责是将Java类型的参数...
本篇文章将深入剖析如何使用MyBatis框架在Oracle数据库中对BLOB类型字段进行保存和读取。 首先,BLOB字段设计用于存储非结构化的二进制大数据,如图像、音频文件或任何其他形式的字节流。相反,CLOB字段则适用于...
在处理复杂的关联关系时,MyBatis的一对多映射机制显得尤为重要。一对多映射指的是一个父类实体对应多个子类实体的关系,例如一个学生可以有多个课程,一个部门可以有多名员工等。 一、一对多映射的基本概念 在...
本文将深入探讨在MyBatis中如何使用枚举类型,并通过实际的项目"mybatis入门实战之枚举类型"进行讲解。这个项目提供了一个简单的demo,非常适合初学者了解并实践MyBatis的TypeHandler机制。 首先,我们要明白枚举...
3. 自动类型映射:MyBatis能自动将数据库结果集转换为Java对象,同时也支持自定义的类型处理器以处理特定类型的映射。 4. 缓存机制:MyBatis内置了本地缓存和二级缓存,能够提高数据读取效率,减少对数据库的访问。...
在Mybatis3中,`if`标签用于进行条件判断,以动态地控制SQL语句的生成。在处理字符串时,我们需要特别注意字符串的比较方式,因为不正确的写法可能导致异常。这里我们将深入探讨如何正确使用`if`标签来判断字符串。 ...
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的繁琐。MyBatis可以将配置和原生Map使用简单的XML或注解,将接口和Java的POJOs映射...