java sql参数_java-从SQL查询检索参数
您可以使用这种方法来做到这一点,在此替换掉每一个?在查询中使用(.*),然后根据它创建一个模式.然后应用另一对具有实际值的字符串,然后打印出将按?动态创建的所有组中的值.存在于查询字符串中.
这是执行相同操作的Java代码.
@H_403_6@// This map stores your paired queries where key stores the placeholder query and value stores the query having actual parameters.
Map pairMap = new HashMap<>();
pairMap.put("SELECT * FROM my_table t WHERE (t.attr1 = ? AND t.attr2 = ?) OR t.attr3= ?","SELECT * FROM my_table t WHERE (t.attr1 = 3 AND t.attr2 = 'str') OR t.attr3= 4");
pairMap.put("UPDATE my_table SET attr2 = ? WHERE attr5 = ?","UPDATE my_table SET attr2 = 'Is it true?' WHERE attr5 = 'What is it?'");
pairMap.forEach((k,v) -> {
System.out.println("For query: "+k);
k = k.replaceAll("([*+^$()\\[\\]{}])","\\\\$1"); // this escapes all the characters that have special meaning in regex so they get treated as literal characters
k = k.replaceAll("\\?","(.*)");
Pattern p = Pattern.compile(k);
Matcher m = p.matcher(v);
if (m.matches()) {
for (int i=0;i
System.out.println(m.group(i+1));
}
} else {
System.out.println("Didn't match");
}
System.out.println();
});
哪个打印,
@H_403_6@For query: SELECT * FROM my_table t WHERE (t.attr1 = ? AND t.attr2 = ?) OR t.attr3= ?
3
'str'
4
For query: UPDATE my_table SET attr2 = ? WHERE attr5 = ?
'Is it true?'
'What is it?'
如您所见,该代码适用于占位符?的任何可变值.在查询字符串中,并打印配对查询中存在的所有具有实际值的值.
java sql参数_java-从SQL查询检索参数相关推荐
- java sql函数_Java调用Sql存储过程实例讲解
1.使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转 义序列.不带参数的 call 转义序列的语法如下所示: {call procedure-n ...
- java 防止sql注入_Java中SQL注入以及如何轻松防止它
java 防止sql注入 什么是SQL注入? (What is SQL Injection?) SQL Injection is one of the top 10 web application v ...
- java直接对list使用sql语句_Java和SQL语句阶段考试错题集
一.Java部分 1.选择题 3.关于 Java 堆,下面说法错误的是(). A.所有类的实例都是在堆上分配内存. B.对象所占的堆内存是由自动内存管理系统回收. C.堆内存由存活和死亡的对象,空闲碎 ...
- java sql 排序_JAVA像SQL一样对List对象集合进行排序
在开始之前,我先卖个关子提一个问题:假设我们有一个Movie类,这个类有三个成员变量分别是starred(是否收藏), title(电影名称), rating(评分).你知道怎么对一个Movie对象组 ...
- java sql脚本_java执行sql脚本
package com.unmi.db; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Con ...
- java 读取.sql文件_java解析sql文件
packagecom.athena.ckx.util;importjava.io.FileInputStream;importjava.io.InputStream;importjava.sql.Co ...
- java sql脚本_Java 执行 SQL 脚本文件
是拷贝的别人的,以备学习 package com.unmi.db; import java.io.FileInputStream; import java.io.InputStream; import ...
- java中的命令行参数_Java中的命令行参数
java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...
- java 接收命令行参数_java中的命令行参数_Java中的命令行参数
java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...
最新文章
- 一位技术人员成长的烦恼及我的分析(转)
- 小白学python买什么书-终于明白小白学习python怎么学
- php post验证输入,$.post()登录验证功能
- IOCP中在WSASend以及WSARecv的时候出现WSA_IO_PENDING情况的说明
- linux kvm百度云,容器与云|如何在 Ubuntu Linux 上使用 KVM 云镜像
- 自己动手制作一门语言(1)波罗语
- mysql数据库1对n_MySQL数据库InnnoDB引擎事务说明
- Merge k Sorted Lists leetcode java
- 《ArcGIS Runtime SDK for .Net开发笔记》--介绍与环境搭建
- C#操作内存读写方法是什么呢?让我们来看看具体的实例实现:
- ios protobuf java_iOS 集成Protobuf,转换proto文件
- 【转载】DEDE与DISCUZ整合积分同步[会员表,积分表
- DSPE-PEG-TPP 磷酸三苯酯修饰聚乙二醇PE磷脂
- linux下安装xamp
- 【Vue报错】This is probably not a problem with npm. There is likely additional logging output above
- Boost搜索引擎项目
- JavaScript对象与内置对象——对象(一)
- Ai智能对话页面html,js人工智能对话框 - osc_q50is30g的个人空间 - OSCHINA - 中文开源技术交流社区...
- linux 查看发行版本
- 深入HotSpot虚拟机源码探究synchronized底层实现原理【万字总结synchronized】
热门文章
- FreeRTOS 之二 Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)
- springboot后台怎么获取前端传过来的excel_开源商城系统包含后台管理和手机端
- Cpp 对象模型探索 / placement new 实现原理
- cka教程_2020年11月新版CKA考试心得
- 0xbc指令 st75256_DDOS终极加速列车算法
- 项目总结(3.DIBR技术项目总结(1.TOF相机及标定相关))
- ZT:与其怨天尤人,不如全力以赴;若想改变世界,你必须先从改变自己开始!...
- codeforces 719C (复杂模拟-四舍五入-贪心)
- hdu 2049 不容易系列之(4)——考新郎
- 移动搜索引擎-网页信息预处理