- 浏览: 1975581 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (188)
- java基础 (22)
- 经验+注意 (39)
- Oracle (34)
- javaScript (28)
- jquery (24)
- iBatIS (11)
- hibernate (8)
- struts1.x (1)
- spring (1)
- SVN (1)
- myeclipse (12)
- jbmp工作流 (1)
- 其他 (22)
- 杂谈 (4)
- struts2 (5)
- css (4)
- 正则表达式 (2)
- jstl标签 (4)
- Java Tree (2)
- Jboss (1)
- json (1)
- HttpURLConnection (1)
- Apache commons工具包 (1)
- groovy+grails (2)
最新评论
-
q2425533:
Java字符串倒序输出 + 数组的排序 -
变脸小伙:
今天也跟着学习了,用到了
struts2拦截器 获得请求方法名+获得请求参数 -
tuspark:
讲解的很不错。URLConnection类的内容也可以看这篇文 ...
HttpURLConnection详解 -
wolf746773350:
...
window.location.href/replace/reload()--页面跳转+替换+刷新 -
wolf746773350:
[/flash]
window.location.href/replace/reload()--页面跳转+替换+刷新
ibatIS的<dynamic prepend="WHERE">原理,是判断前一个AND字母是否存在
今天付出了惨痛的代价,调sqlMap文件调了一下午,杯具啊!!!!!!!!!!!
1.首先看我错误的xml文件代码
<select id="count" parameterClass="com.hanpeng.base.phone.model.TCommission" resultClass="java.lang.Integer"> SELECT count(*) FROM T_COMMISSION t1,t_product_type t2,T_BUSSINESS_SAFE t3 <dynamic prepend="WHERE"> t3.type_num=t1.type_num and t1.product_num=t2.product_num and t2.state='10' <isNotEmpty prepend=" AND " property="otherFastCommission"> t1.OTHER_FAST_COMMISSION = #otherFastCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="otherNormCommission"> t1.OTHER_NORM_COMMISSION = #otherNormCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="money"> t1.MONEY = #money# </isNotEmpty> <isNotEmpty prepend=" AND " property="fastPrice"> t1.FAST_PRICE = #fastPrice# </isNotEmpty> <isNotEmpty prepend=" AND " property="bussinessId"> t3.bussiness_id = #bussinessId# </isNotEmpty> <isNotEmpty prepend=" AND " property="provinceCode"> t2.province_code = #provinceCode# </isNotEmpty> <isNotEmpty prepend=" AND " property="areaCode"> t2.area_code = #areaCode# </isNotEmpty> <isNotEmpty prepend=" AND " property="operators"> t2.operators_code in <iterate property="operators" open="(" close=")" conjunction=","> #operators[]# </iterate> </isNotEmpty> </dynamic> </select>
###注意:
t3.type_num=t1.type_num
and
t1.product_num=t2.product_num and t2.state='10' 我写到了<dynamic prepend="WHERE">的里面,因为要动态生成where子句,所以会根据前一个条件是否有AND,来判断下个条件是否给加AND符! 但注意我的 'and' 是小写的,如果用大写可能就好使了,t1.MONEY = ?前面没给和AND,ibatIS自动拼接后的sql如下:
SELECT count(*) FROM T_COMMISSION t1,t_product_type t2,T_BUSSINESS_SAFE t3 WHERE t3.type_num=t1.type_num and t1.product_num=t2.product_num and t2.state='10' t1.MONEY = ? AND t3.bussiness_id = ? AND t2.area_code = ? AND t2.operators_code in(?,?)
所以,ibatIS的isNotEmpty标签是查找前一个sql有没有AND,没有,默认为where后第一个条件,不加AND。
有,默认不是where后的第一个条件,加AND。ibatIS写的时候应该是用"AND".equals(str)
二、正确应该的写法应该这样:
###注:只能这样修改,t3.type_num=t1.type_num
and
t1.product_num=t2.product_num and t2.state='10' 【
and改成AND不好使,已测试!!! 】
2.1 去掉<dynamic prepend="WHERE">标签(已验证,好使,唯一方法):
<select id="count" parameterClass="com.hanpeng.base.phone.model.TCommission" resultClass="java.lang.Integer"> SELECT count(*) FROM T_COMMISSION t1,t_product_type t2,T_BUSSINESS_SAFE t3 where t3.type_num=t1.type_num and t1.product_num=t2.product_num and t2.state='10' <isNotEmpty prepend=" AND " property="productNum"> t1.PRODUCT_NUM = #productNum# </isNotEmpty> <isNotEmpty prepend=" AND " property="typeNum"> t1.TYPE_NUM = #typeNum# </isNotEmpty> <isNotEmpty prepend=" AND " property="fastCommission"> t1.FAST_COMMISSION = #fastCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="normCommission"> t1.NORM_COMMISSION = #normCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="createDate"> t1.CREATE_DATE = #createDate# </isNotEmpty> <isNotEmpty prepend=" AND " property="employeeId"> t1.EMPLOYEE_ID = #employeeId# </isNotEmpty> <isNotEmpty prepend=" AND " property="alterDate"> t1.ALTER_DATE = #alterDate# </isNotEmpty> <isNotEmpty prepend=" AND " property="otherFastCommission"> t1.OTHER_FAST_COMMISSION = #otherFastCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="otherNormCommission"> t1.OTHER_NORM_COMMISSION = #otherNormCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="money"> t1.MONEY = #money# </isNotEmpty> <isNotEmpty prepend=" AND " property="fastPrice"> t1.FAST_PRICE = #fastPrice# </isNotEmpty> <isNotEmpty prepend=" AND " property="normPrice"> t1.NORM_PRICE = #normPrice# </isNotEmpty> <isNotEmpty prepend=" AND " property="allFastCommission"> t1.ALL_FAST_COMMISSION = #allFastCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="allNormCommission"> t1.ALL_NORM_COMMISSION = #allNormCommission# </isNotEmpty> <isNotEmpty prepend=" AND " property="otherFastPrice"> t1.OTHER_FAST_PRICE = #otherFastPrice# </isNotEmpty> <isNotEmpty prepend=" AND " property="otherNormPrice"> t1.OTHER_NORM_PRICE = #otherNormPrice# </isNotEmpty> <isNotEmpty prepend=" AND " property="allFastPrice"> t1.ALL_FAST_PRICE = #allFastPrice# </isNotEmpty> <isNotEmpty prepend=" AND " property="allNormPrice"> t1.ALL_NORM_PRICE = #allNormPrice# </isNotEmpty> <isNotEmpty prepend=" AND " property="bussinessId"> t3.bussiness_id = #bussinessId# </isNotEmpty> <isNotEmpty prepend=" AND " property="provinceCode"> t2.province_code = #provinceCode# </isNotEmpty> <isNotEmpty prepend=" AND " property="areaCode"> t2.area_code = #areaCode# </isNotEmpty> <isNotEmpty prepend=" AND " property="operators"> t2.operators_code in <iterate property="operators" open="(" close=")" conjunction=","> #operators[]# </iterate> </isNotEmpty> </select>
发表评论
-
java获得系统盘符(Windows、linux自动切换)
2017-12-22 16:08 2343做文件读写时,本机开发是windows系统,但服务器是li ... -
mysql 时间列自动插入当前日期时间
2012-05-09 13:46 3118用current_timestamp,不过这个默认值 ... -
java switch的使用+switch用String作为条件
2012-03-23 16:58 67324一、java switch的基本使用: /* int参数的s ... -
Java字符串倒序输出 + 数组的排序
2012-03-08 18:06 9268一、Java字符串倒序输出 方法一:利用 ... -
HTML转义字符
2012-02-23 14:53 2627HTML字符实体(Character Entit ... -
ibatIS中$与#的区别
2012-02-15 17:36 4028在ibatIS中经常会用到: $ 和 # 符号。 一、 ... -
ibatIS的parameterClass="java.util.HashMap"使用Map类型参数
2012-02-13 11:49 21315ibatIS中的parameterClass,一般分类两 ... -
ibatIS中的isNotNull、isEqual、isEmpty
2012-02-10 17:13 88315isNull判断property字段是否是null,用isEm ... -
jQuery Ajax 实例 ($.ajax、$.post、$.get)
2012-02-09 10:43 300724Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦, ... -
checkbox加onClick事件,ajax异步请求后台,$.ajax
2012-02-08 17:02 6759XXX平台要实现一个功能,公告弹出页面上使用复选框设置不再通知 ... -
js限制文件上传类型
2012-01-16 11:24 2219var name = $('#file').val(); v ... -
Random()随机数+随机切换图片
2011-12-13 14:55 3069一、Random()随机数 转自:http://bl ... -
Request对象各种获得路径的方法+Request对象各种方法(.getRemoteAddr)
2011-12-13 14:43 9580用jboss发布的工程,测试request对象返回路径的方法, ... -
ibatIS调用存储过程
2011-12-02 16:14 1606一、ibatIS调用存储过程(调用存储过程,统一使用Store ... -
HttpURLConnection与URL---接口的应用
2011-11-26 10:14 1820一版XXX中的更新内存的接口应用: 一、定义一个有返回 ... -
session详细解析(是否过期、失效时间)
2011-10-26 15:22 11207Session一直是我们做web项 ... -
ibatIS批量Update
2011-10-25 14:40 3011一、我的应用 /*批量更新*/ public boolea ... -
ibatis 指定返回Map(resultMap)中的字段类型
2011-10-22 13:12 10404ibatIS中我们可以定义<parameterMap c ... -
iterate标签--ibatis
2011-10-22 10:43 2073项目用的是ibatis-2.3.4.726,不是mybatis ... -
insert into (select from)表复制+select into from表复制
2011-10-18 17:20 12080Insert INTO table(field1,field2 ...
相关推荐
前18大旋转修整器企业占据全球87%的市场份额
SKYSAT IMAGERY PRODUCT SPECIFICATION PLANET.COM VIDEO Full motion videos are collected between 30 and 120 seconds by a single camera from any of the active SkySats. Videos are collected using only the Panchromatic half of the camera, hence all videos are PAN only. Videos are packaged and delivered with a video mpeg-4 file, plus all image frames with accompanying video metadata and a frame index file (reference Product Types below)
Screenshot_20240506_133458_com.netease.yhtj.vivo.jpg
大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,历年美赛特等奖O奖论文
雷达物位变送器安装和操作手册
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
快速排序是一种基于分治策略的排序算法,通过选择一个基准元素,将待排序的数组划分为两个子数组,一个包含所有小于基准的元素,另一个包含所有大于基准的元素,然后递归地对这两个子数组进行快速排序。快速排序在平均情况下具有O(n log n)的时间复杂度,是一种非常高效的排序算法。然而,在最坏情况下,当输入数据已经有序或接近有序时,快速排序的性能会退化为O(n^2)。此外,快速排序是不稳定的排序算法,即相等的元素可能在排序过程中改变相对位置。尽管如此,快速排序仍然因其高效的平均性能而在实际应用中广泛使用。在Python3中,可以通过递归或迭代的方式实现快速排序算法,但为了避免额外的空间开销,通常会采用原地排序的方式来实现。
【作品名称】:基于51单片机的出租车计价器(昼夜) 含(程序、仿真图、流程图、原理图) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 出租车计价器: 1、不同情况具有不同的收费标准,具有白天和夜晚不同的计价能力 2、能进行手动修改单价 3、具有数据的复位功能(起步价,起步公里数,里程单价,白天晚上不一样) 4、能够在掉电的情况下存储单价等数据 5、步进电机模拟里程,一圈表示一里路
2024年中国API 11P往复式气体压缩机行业研究报告
附件是Windows 10系统上安装和配置Tomcat的步骤,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!
此试题是考试后回忆版本,你会发现是惊喜。恭喜你考个好成绩。
数据库+人大金仓+Linux系统安装
大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,2023年美赛特等奖O奖论文
opencv-python-4.5.4.60-cp36-cp36m-win-amd64.whl
减肥管理,全球前10强生产商排名及市场份额
内容概要:《上海大学大学生创新创业训练计划申请书(创新训练项目)》是用于申请参加上海大学的大学生创新创业训练计划的申请书,旨在帮助学生提出创新项目计划,获得培训和支持,促进学生创新创业能力的提升。 适用人群:适合上海大学的在校大学生,特别是对创新创业感兴趣、有创新想法和创业计划的学生,希望通过该计划获得指导和资源支持,实现自己的创业梦想。 使用场景及目标:申请书的使用场景是为了参加上海大学的大学生创新创业训练计划,目标是通过提交详细的创新项目计划,获得评审通过并获得培训、指导和资金支持,从而推动学生的创新创业实践和能力提升。 其他说明:申请书应包括清晰的创新项目描述、项目可行性分析、预期目标和计划、团队介绍等内容,以展现学生的创新能力和项目潜力。申请书的撰写需要认真准备,体现出学生对创新创业的热情和才华,以提高申请成功的机会。
IEC 60364-7-716-2023 低压电气装置.第7-716部分:特殊装置或场所的要求.信息和通信技术(ICT)电缆基础设施上的ELV直流配电.pdf
IEC PAS 61851-1-1 2023 电动汽车导电充电系统.第1-1部分:使用4型车辆耦合器的电动汽车导电带电系统的特殊要求.pdf
前11大客运渡轮服务企业占据全球30.3%的市场份额
wsl+MCgpu安装记录