iBatis 相关

1、配置iBatis 返回类型(例如,sum( ) 一个BigDeciaml列后 )

  <select id="abatorgenerated_totalWt2" resultClass="java.math.BigDecimal" parameterClass="java.lang.String">select sum(shp_wt2) from T04_CASE_DTL_WK where slip_id = #slipId:VARCHAR# ;</select>

2、iBatis 模糊查询问题分析

问题:通过 iBatis 提供的接口实现“前缀匹配”模糊查询时,如果输入的参数是( "_" 或 "%") 会查询出所有的记录。

分析:iBatis 提供的模糊查询解析后的SQL语句如( like '_%' 或 like '%%')当然会查询出所有的。

解决:转义掉特殊字符(如下:)

select count(*) from m03_user_info where pc_usr_nm like '//%' escape '/' and company_id='01'

a、提供一个方法,将模糊查询时的特殊字符转义掉(包含转义字符("/")本身)

    /*** 转换查询条件中的通配符( "_", "%" )*/public static String escapeSqlWildcard( String s ){if( StringUtils.isBlank( s ) ){throw new IllegalStateException( "s is null, for SQL query." );}StringBuilder sb = new StringBuilder();for( int i=0 ; i<s.length() ; i++ ){char ch = s.charAt( i );switch( ch ){case '_':sb.append( "/_" );break;case '%':sb.append( "/%" );break;case '/':sb.append( "//" );break;default:sb.append( ch );}}return sb.toString();}
b、在JavaBean 中返回参数时,完成转义

package jp.co.snjp.db.model;import jp.co.snjp.kddi.web.util.Global;/*** 封装分页查询M03UserInfo的参数* @author GongQiang**/
public class M03UserInfoPageList {private int page;private int pageSize;private String companyId;private String name;public M03UserInfoPageList(int page, int pageSize, String companyId, String name) {super();this.page = page;this.pageSize = pageSize;this.companyId = companyId;this.name = name;}public M03UserInfoPageList(int page, int pageSize, String companyId) {super();this.page = page;this.pageSize = pageSize;this.companyId = companyId;}public M03UserInfoPageList(String companyId, String name) {super();this.companyId = companyId;this.name = name;}public M03UserInfoPageList() {super();// TODO Auto-generated constructor stub}// 其他 get/set 方法省略public String getName() {if( name == null ){return null;}return Global.escapeSqlWildcard( name ) + "%";}}
c、在 iBatis 的sqlMap 配置文件中配置
  <!-- ***************************************通过companyId 和 name 查询记录条数*************************************** --><select id="abatorgenerated_countByCompanyIdAndName" resultClass="Integer" parameterClass="jp.co.snjp.db.model.M03UserInfoPageList" >select count(*) from m03_user_info where company_id = #companyId:VARCHER# <isNotNull property="name">and pc_usr_nm like #name# escape'/'</isNotNull></select>
d、dao 层新增方法

    /*** 查询记录条数,通过companyId 和name * @param params* @return* @throws SQLException** Date	  :2011-11-28* Author :GongQiang*/public Integer countByCompanyIdAndName( M03UserInfoPageList params )  throws SQLException{if( params == null ){throw new IllegalStateException( "params is null." );}return (Integer) sqlMapClient.queryForObject( "m03_user_info.abatorgenerated_countByCompanyIdAndName", params);}

这样就 OK 了。。。。。。。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

比AlphaGo Zero更强的AlphaZero来了!8小时解决一切棋类!

来源&#xff1a;本文作者PENG Bo&#xff08;http://t.cn/RY3MKSS&#xff09;&#xff0c;本文首发于作者的知乎专栏《技术备忘录》 读过AlphaGo Zero论文的同学&#xff0c;可能都惊讶于它的方法的简单。另一方面&#xff0c;深度神经网络&#xff0c;是否能适用于国际象棋这…

直接插入排序比较次数_程序员必须要会的直接插入排序算法

算法主要衡量标准时间复杂度(运行时间)在算法时间复杂度维度&#xff0c;我们主要对比较和交换的次数做对比&#xff0c;其他不交换元素的算法&#xff0c;主要会以访问数组的次数的维度做对比。其实有很多同学对于算法的时间复杂度有点模糊&#xff0c;分不清什么所谓的 O(n),…

脑机接口技术如何具体实现?

来源&#xff1a;神经科技前沿 概要&#xff1a;人类心灵能够与人工智能、机器人和其它心灵通过脑机接口技术(BCI)直接相连&#xff0c;从而超越人类寿命的限制吗? 就像古希腊人梦想在天空翱翔一样&#xff0c;今天的人们总是梦想着将大脑与机器融合来解决令人讨厌的死亡问题。…

BPP 相关——02

BPP项目 HT 部分完成小结&#xff1a; 1、Action 类怎么写&#xff1f; 现在的做法是Action 层直接与 dao 层耦合&#xff0c;所有的功能都在 Action 类中完成。 缺点&#xff1a;如果 Action1 与 Action2 两个类有部分功能重复&#xff0c;在“避免重复代码”这样的原则下&am…

scrapy读取mysql数据库_python3实战scrapy获取数据保存至MySQL数据库

python3使用scrapy获取数据然后保存至MySQL数据库&#xff0c;我上一篇写了如何爬取数据保存为csv文件&#xff0c;这一篇将会写如何将数据保存至数据库。思路大都一样&#xff0c;我列一个思路&#xff1a;1&#xff1a;获取腾讯招聘网。2&#xff1a;筛选信息获取我们想要的。…

共享单车技术含量,一篇文章全说透了!

来源&#xff1a;物联网智库 概要&#xff1a;共享单车已经成为了中国新四大发明之一&#xff0c;被输往了世界上很多城市。 共享单车已经成为了中国新四大发明之一&#xff0c;被输往了世界上很多城市。在我看来&#xff0c;虽然共享单车的实现并不复杂&#xff0c;其实质是一…

PostgreSQL 分页——示例

SQL 语句 select * from ( select * from logizard.t04_case_dtl_wk where slip_id order100~1~l001 order by case_id ) as T04 limit 5 offset 0 ;结果图

人工智能企业自动化的关键现状和战略影响

来源&#xff1a;腾股创投&#xff08;微信ID: tengguvc&#xff09; 人工智能和机器学习在亚马逊 Alexa 等面向消费者的应用领域取得了长足的进步&#xff0c;在企业内的的部署也不断涌现。 关于 AI 自动化对企业的影响范围和影响程度的意见不一。 一方面&#xff0c;牛津大学…

mysql 递归查询树型结构_MySQL递归查询所有子节点,树形结构查询

--表结构CREATE TABLE address (id int(11) NOT NULL AUTO_INCREMENT,code_value varchar(32) DEFAULT NULL COMMENT ‘区域编码‘,name varchar(128) DEFAULT NULL COMMENT ‘区域名称‘,remark varchar(128) DEFAULT NULL COMMENT ‘说明‘,pid varchar(32) DEFAULT NULL COM…

Mac 右键拷贝文件失效

问题&#xff1a;Mac 右键拷贝文件失效&#xff0c;有时候拷贝可以成功&#xff0c;有时候拷贝不成功 发现问题所在&#xff1a;开了百度翻译的划词&#xff0c; 解决&#xff1a;把划词关掉就好了&#xff0c;或者设置划词快捷键翻译就好了&#xff0c;反正就不要一划就翻译那…

资源官网

卓越亚马逊 Ant&#xff0c; http://ant.apache.org/ Axis2&#xff0c;http://axis.apache.org/axis2/java/core/ DisplayTag&#xff0c; http://www.displaytag.org/1.2/ Eclipse&#xff0c; http://www.eclipse.org/ Maven&#xff0c;http://maven.apache.org/ MyS…

为什么神经网络会把乌龟识别成步枪?现在的 AI 值得信任吗?

来源&#xff1a;36Kr 概要&#xff1a;人工智能的快速发展的确值得欣喜&#xff0c;但快速发展的背后还有各种不完善的地方。 人工智能的快速发展的确值得欣喜&#xff0c;但快速发展的背后还有各种不完善的地方。比如&#xff0c;前不久麻省理工学院的一些学生&#xff0c;利…

mysql 5.7 not null_mysql5.7基础 select...where...is not null 查找不为NULL的内容

礼悟&#xff1a;公恒学思合行悟&#xff0c;尊师重道存感恩。叶见寻根三返一&#xff0c;江河湖海同一体。虚怀若谷良心主&#xff0c;愿行无悔给最苦。读书锻炼养身心&#xff0c;诚劝且行且珍惜。数据、数据&#xff0c;命根就在数据。操作数据库一定要谨慎小心。给最苦 这里…

Struts2自定义标签——示例

自定义Button功能描述&#xff1a; <tangs:button items"apple,orange,banana"/> 解析后为&#xff1a; <input type"button" name"apple" value"apple" /> <input type"button" name"orange…

深度学习的核心:掌握训练数据的方法

来源&#xff1a;云栖社区 概要&#xff1a;今天我们将讨论深度学习中最核心的问题之一&#xff1a;训练数据。 Hello World&#xff01; 今天我们将讨论深度学习中最核心的问题之一&#xff1a;训练数据。深度学习已经在现实世界得到了广泛运用&#xff0c;例如&#xff1a;无…

python停止运行tensorflow_Tensorflow 开启训练后卡死

毕设做深度学习的课题&#xff0c;使用到了TensorFlow&#xff0c;但训练时出现了问题&#xff1a;跑脚本开启训练之后&#xff0c;跑完不到100次就会卡死&#xff0c;然后显示python已停止工作这是我的训练的代码# 导入数据集import load_record# 导入TensorFlow并创建Session…

Struts2自定义标签(template)——示例

来源&#xff1a;http://www.blogjava.net/natlive/archive/2009/05/21/271890.html Struts2 的UITag原理&#xff1a; Struts2 UITag分三部份组成&#xff0c;一部份用于定义Tag的内容与逻辑的UIBean&#xff0c;一部份用于定义JSP Tag&#xff0c;也就是平时我们定义的那种&…

详解5G的六大关键技术

来源&#xff1a;电子产品世界 概要&#xff1a;在5G研发刚起步的情况下&#xff0c;如何建立一套全面的5G关键技术评估指标体系和评估方法&#xff0c;实现客观有效的第三方评估&#xff0c;服务技术与资源管理的发展需要&#xff0c;同样是当前5G技术发展所面临的重要问题。 …

mysql 懒加载数据_jpa如何懒加载大字段,懒加载之后又如何获取懒加载字段

前言&#xff1a;对于大字段&#xff0c;我们在查询列表的时候不需要查询&#xff0c;但是修改的时候有需要展示大字段内容&#xff0c;怎么办问1.jpa如何懒加载大字段&#xff1f;即查询列表的时候不查询出来问2.懒加载之后又如何获取懒加载字段。比如&#xff0c;在后台修改的…

为什么说特斯拉研发自动驾驶AI芯片应该引起注意?

来源&#xff1a;36Kr 概要&#xff1a;对于特斯拉而言&#xff0c;研发这款芯片配套算法本质上还是对率先将自动驾驶汽车商业化节点的争夺。 特斯拉Model 3的量产问题仍未彻底解决&#xff0c;CEO Elon Musk又抛出了自研自动驾驶芯片的重磅新闻。 Elon Musk和特斯拉Autopilo…