Java获取Mybatis动态生成的sql
前提:已经编写好相应的接口个xml文件
public void exportExcel_bw() throws Exception {//封装sql需要查询的sql的条件Map<String, Object> paramMap = new HashMap();paramMap.put("parentName", "权限管理");paramMap.put("pageBegin", 0);paramMap.put("pageSize", 20);//获取执行sqlConfiguration con = sqlSessionFactory.getConfiguration();//传xml文件中的 需要执行的id编号 如下图说明MappedStatement s = con.getMappedStatement(com.sgd.eic.nxdb.yhqd.dao.YhqdSuspectEleStealDao.selectSuspectUserEleStealStat);BoundSql bSql = s.getBoundSql(paramMap);//获取到sql中封装的参数的数量List<ParameterMapping> paramValues = bSql.getParameterMappings();String sql=getExecuteSql(bSql.getSql(),paramValues,paramMap);//创建连接SqlSession session = sqlSessionFactory.openSession();Statement cs = session.getConnection().createStatement();ResultSet set = cs.executeQuery(sql);//执行查询System.out.println(sql);}/*** 生成可执行sql* @param sql 获取的sql* @param paramValues 动态参key* @param map 动态参valur* @return*/private String getExecuteSql(String sql, List<ParameterMapping> paramValues,Map map) {while(sql.indexOf("?") != -1 && paramValues.size() > 0) {String paramName = paramValues.get(0).getProperty();String paramValue = map.get(paramName).toString();String value = "";if (paramValue instanceof String) {value = "'" + paramValue + "'";}sql = sql.replaceFirst("\\?", value);paramValues.remove(0);}return sql;}
参考:http://www.360doc.com/content/17/0415/16/21706453_645828496.shtml
相关文章:

哲学是什么?(选自:苏菲的世界)
亲爱的苏菲: 人的嗜好各有不同。有些人搜集古钱或外国邮票,有些人喜欢刺绣,有些人则利用大部分的时间从事某种活动。 另外许多人以阅读为乐,但阅读的品味人各不同。有些人只看报纸或漫画,有些人喜欢看小说,…

SQL语句统计错误率
2018年的第一篇博客就以此作为开端吧 :D 最近在项目中碰到需要统计类似错误率之类的需求,原本这功能是之前做的,但是最近测的时候发现出了点问题,显示的结果不对。这就比较尴尬了。。。 于是就进行debug,发现之前写的查询SQL有问…

Microsoft Surface Toolkit Beta 版发布
目前微软发布的这款Microsoft Surface Toolkit 仍是Beta 版。其中包括一些列控件(Control)、API、模板(Template)以及程序样例和文档供开发者使用。只要具备.NET Framework 4.0、WPF 4.0 和带有Windows Touch 功能并安装Windows 7…

第四节 RabbitMQ在C#端的应用-客户端连接
第四节 RabbitMQ在C#端的应用-客户端连接 原文:第四节 RabbitMQ在C#端的应用-客户端连接版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87357911 1.在VS2013中新建控制台程序,然后添加引用:.NET…

Android控件之ImageView探究
ImageView控件是一个图片控件,负责显示图片。 以下模拟手机图片查看器 目录结构 main.xml布局文件 <?xml version"1.0"encoding"utf-8"?><LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"androi…

R. ftp软件
转载于:https://www.cnblogs.com/youyuanjuyou/p/8257976.html

Js打印表格时部分边框不显示(table 标签)
问题如下: 原始表单 ,需要打印在浏览器上打印该表单 出以下效果 原因:是因为当表被复制到一个新窗口时,您的CSS不被保留。你可以通过将一些相关的CSS传递到document.write()方法中的新窗口来解决这个问题。…

35岁以前成功的12条黄金法则(1)
第一章:一个目标 一艘没有航行目标的船,任何方向的风都是逆风。 1、你为什么是穷人,第一点就是你没有立下成为富人的目标。 2、你的人生核心目标是什么?杰出人士与平庸之辈的根本差别并不是天赋、机遇,而在于有无目标。…

idea配置echache.xml报错Cannot resolve file 'ehcache.xsd'
解决方法: 打开settings->languages&frameworks->schemas and dtds ,添加地址 http://ehcache.org/ehcache.xsd 然后将ehcache.xml 这里做修改 转载于:https://www.cnblogs.com/liaojie970/p/8270570.html

linux环境安装python-pip
参考:https://blog.csdn.net/u013372487/article/details/51726002 1、通过wget方式安装 # wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate #不检查证书,尽量避免使用(某些情况下加入no-check-certificate 即可成功安装) # python…

NLP学习 资料总结
NLP目前应用于7个重要领域: 1.句法语义分析:对于给定的句子,进行分词、词性标记、命名实体识别和链接、句法分析、语义角色识别和多义词消歧。 2.信息抽取:从给定文本中抽取重要信息。通俗来说就是,了解谁在什么时候、…

一生受益的三个小故事
转载于:https://www.cnblogs.com/88223100/archive/2011/02/22/three_stories.html

VS2008中Web Reference和Service Reference的区别
很早就发现在vs2008中应用web service有两种方式,即Add Web Reference和Add Service Reference,但是一直不是很清楚这两者有什么区别。趁着今天有空实验一下这两者的区别并记录下来供大家参考。 首先在网上查找,发现有如下两个主要区别&#…

详细记录python的range()函数用法
详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序。 这里记录一下: >>> ran…

socket编程和并发服务器
socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址端口号”就称为socket。 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成…

基于协同过滤算法实现选课推荐系统
新版本教务管理系统 教务管理系统 选课功能1.系统功能 1、用户账户管理 2、学生个人信息的查看与修改 3、学生的网上选课与课程的评分 4、教师个人信息的查看与修改 5、教师对学生课程评价结果的查看 6、管理员对学生信息与教师信息的查看与添加 7、管理员对课程的增删改查 8、…

linux access函数判断文件存取权限
access(判断是否具有存取文件的权限)相关函数 stat,open,chmod,chown,setuid,setgid表头文件 #include<unistd.h>定义函数 int access(const char * pathname,int mode);函数说明 access(…

Python天天美味(35) - 细品lambda
lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子: deff(x): returnx**2printf(4)Python中使用lambda的话,写成这样 g lambdax : x**2printg(4)lambda表达式在很多编程语言都有对应的实现。比如C#&#x…

jvm:分析工具
bin/jvisualvm.exe 可查看类实例数 bin/jconsole.exe 监控线程,堆,等 http://blog.csdn.net/yaowj2/article/details/7107818 https://blog.csdn.net/janekeyzheng/article/details/41075791 转载于:https://www.cnblogs.com/chen-msg/p/8275299.html

Django 路由分发
Django 路由分发 当一个url请求过来之后1、先到项目主目录下的urls内。2、由这个url做处理分发给其他app内的urls。 一级路由:主目录urls内引入include from django.conf.urls import url,include urlpatterns [# 指定分发的app目录名称url(r^cmdb/,include("…

NHibernate从入门到精通系列(7)——多对一关联映射
内容摘要 多对一关联映射概括 多对一关联映射插入和查询 多对一关联映配置介绍 一、多对一关联映射概括 关联关系是实体类与实体类之间的结构关系,分别为“多对一”、“一对一”、“多对多”。然而“多对一”是怎样描述的呢?让我们参考图1.1所示…

PLSQ执行同样的sql,使用mybatis进行动态拼装执行的时候非常慢的问题解决
如题,项目中碰到了同样的sql,在plsql中执行很快,几乎秒出,但在程序中使用mybatis框架时,却非常的慢,前提是动态拼装的sql。在使用写死的参数,不会出现很慢的效果。最后发现是使用 #{xxx} 去注入…

雨林木风爱好者GHOSTXP装机版_NTFS_SP3_2010_03
系统简介:系统下载参考地址:http://www.51ghostxp.cn/winxp/230.htm迅雷地址:thunder://QUFodHRwOi8vZG93bjUuZ2hvc3QyLmNuL0dIT1NUWFBfU1AzeWxtZmFpaGFvemhlXzIwMTBfMDNbTlRGU10uaXNvWlo雨林木风爱好者GHOSTXP装机版_NTFS_SP3_2010_03主要特点: 此系统采用硬盘安装…

栈和堆的区别(转 知乎)
①管理方式:栈由编译器自动管理;堆由程序员控制,使用方便,但易产生内存泄露。 ②生长方向:栈向低地址扩展(即”向下生长”),是连续的内存区域;堆向高地址扩展(即”向上生长”),是不连…

到这个年纪为什么我还要开始学习理解参与区块链?
【顺势而为,与时俱进的需要】看来我对信息的敏感程度还不够,最近才认真研读了相关文件:国务院关于印发“十三五”国家信息化规划的通知国发〔2016〕73号1信息技术创新代际周期大幅缩短,创新活力、集聚效应和应用潜能裂变式释放&am…

JavaScript小记
项目进行中需求变化,把所有的图片的呈现出渐出效果,我首先想到了filters:滤镜, <html><head> </head> <script language"JavaScript">function picload(){img.filters.revealTrans.apply()im…

Ant Design of Vue —— setFieldsValue方法 动态操作Switch组件
在开发中经常使用Form组件管理表单,这次想通过form提供的setFieldsValue()方法动态改变Switch组件状态,却没有生效。 加入valuePropName属性之后,就可以使用动态操作Switch组件了。 <a-switch v-decorator"[haveChildren, { valuePro…

打印机的大小设置
procedure SetPrinterPaper(APaperNo: Integer; APaperWidth, APaperHeight: Double); //设置当前打印机的纸张大小 //纸张号 9 A4 13 B5 //页宽和页高,单位mm var Device: array[0..255] of char; Driver: array[0..255] of char; Port: array[0..255]…

C# 对ListT取交集、连集及差集
實際演練 ※本文使用int為例,若為使用自訂之DataModel,需實作IEquatable<T>介面才能使用 1. 取交集 (A和B都有) List A : { 1 , 2 , 3 , 5 , 9 } List B : { 4 , 3 , 9 } var intersectedList list1.Intersect(list2);結果 : { 3 , 9 } 判断A和B…

面试前赶紧看了5道Python Web面试题,Python面试题No17
目录 本面试题题库,由公号:非本科程序员 整理发布第1题: Flask中的请求上下文和应用上下文是什么?第2题:django中间件的使用?第3题: django开发中数据做过什么优化?第4题: 解释一下…