字符串是A,B 后台要把字符串写到sql里,所以字符串要转为'A','B' 查询用的JdbcTemplate

前台传的字符串是A,B 后台要把字符串写到sql里,所以字符串要转为'A','B' sql写成in('A','B'),怎么转?查询用的JdbcTemplate,或者还有什么比较好的方案嘛,小弟感激不尽

qq_39599516
qq_39599516 StringBuffer sb = new StringBuffer(); sb.append("'"); String all = stationLevl.replaceAll(",", "','"); sb.append(all); sb.append("'");
3 个月之前 回复

4个回答

google的CharMatcher和Strings工具类

public List<TypePriceInfo> listTypePriceByProductIds(List<Long> productIds) {
        String sqlInParam = CharMatcher.is(',').trimFrom(Strings.repeat("?,", productIds.size()));
        String sql = BASE_TYPE_PRICE_INFO_SQL + "where p.product_id in(" + sqlInParam + ")";
        List<TypePriceInfo> priceInfos = jdbcTemplate.query(sql, productIds.toArray(), typePriceInfoRowMapper);
        if (priceInfos == null) {
            return Collections.emptyList();
        } else {
            return priceInfos;
        }
}

qq_39599516
qq_39599516 虽然我已经有更好的方法了,但是还是感谢你的回答,采纳了,我解决的方法写在下面了
3 个月之前 回复

使用NamedParameterJdbcTemplate访问一批数据

public List<Type> queryByFundid(int fundId) { 
     String sql = "select * from employee where id in (:ids);

    List<String> ids = new ArrayList<>();
    ids.add('3');
    ids.add('32');
    args.put("ids", ids);
    NamedParameterJdbcTemplate givenParamJdbcTemp = new NamedParameterJdbcTemplate(jdbcTemplate);
    List<Type> data = givenParamJdbcTemp.queryForList(sql, args, Type.class);
    return data;
}
qq_39599516
qq_39599516 你这个方法不错 学到了 谢谢
3 个月之前 回复
qq_39599516
qq_39599516 肯定不是固定的啊,而且长度也不固定
3 个月之前 回复
    public static void main(String[] args) {
        String sql = "你的sql in ";
        String str = "A,B";
        String[] split = str.split(",");
        String inCondition = "(";
        for (String string : split) {
            inCondition += "'"+string+"',";
        }
        inCondition = inCondition.substring(0,inCondition.length()-1)+")";
        sql += inCondition;
        System.out.println(sql);
    }
qq_39599516
qq_39599516 这个似乎是可行的,但是还有没有更加好一点的方法呀,我目前想到一个更简洁的方法 就是把,替换成',' 然后前后加',JdbcTemplate有没有提供这种方法呢,感谢你的回答
3 个月之前 回复

其实这个根本就不用转的吧,sql是可以识别的呀

qq_39599516
qq_39599516 当然要转 不转直接报错 JdbcTemplate好像就是这样子 我也没怎么用过 如果直接写sql的话条件里面是数字类型就不用转,可能小弟才疏学浅,方法弄错了
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
字符串是A,B 后台要把字符串写到sql里,所以字符串要转为'A','B' 查询用的JdbcTemplate
前台传的字符串是A,B 后台要把字符串写到sql里,所以字符串要转为'A','B' sql写成in('A','B'),怎么转?查询用的JdbcTemplate,或者还有什么比较好的方案嘛,小弟感激不尽
字符串A删除字符串B
结合老师思路,所写#include #include void my_del(char *str1,char *str2,char *result) { char *temp = str1; char *dest = str2; int count = 0; int i = 0; int flag = 0; while( *temp != '\0') { count
【字符串】A == B ?
rn【字符串】A == B ?rn时间限制: 1 Sec 内存限制: 64 MBrn题目描述rnrnrn给定两个数A和B(长度不超过100),如果它们相等则输出"YES",否则输出"NO"。rnrn输入rnrnrn每组测试数据包含两个数A和B。rnrn输出rnrnrn对于每组测试数据,如果A和B相等,则输出"YES",否则输出"NO"。rnrn样例输入rn1 2rn2.6 2.6rn3 3rn4 3rnrnrn样例输出rnNOrnYESrnYESrnNOrnrnrn
字符串a="a,b" ,字符串b="a,c,b",怎样求取字符串c="c"
字符串a="a,b" ,字符串b="a,c,b",怎样求取字符串c="c", 字符串a为字符串b的子集,除了split后比较,有没有其他方法?
2054 A == B ?【字符串】
A == B ? Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 76093    Accepted Submission(s): 12073 Problem Description Give you two
用哪一个函数看A字符串是否在B字符串里?
用哪一个函数看A字符串是否在B字符串里?
给定字符串,将其中的A字符串用B字符串代替
rt,最好能给出详细的代码,非常感谢!
B1093 字符串 A + B 字符串处理
题目描述 给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。 输入格式: 输入在两行中分别给出 A 和 B,均为长度不超过 106的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。 输出格式: 在一行中输出题面要求的 A 和 B 的和。 输入样例: This is a sampl...
A == B ? HOJ2054 (字符串(小数点))
A == B ? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 153 Accepted Submission(s): 68   Problem Description Giv
美团的笔试题——字符串a和b
解题思路: S为长串,T为短串 1、先计算T的长度为nt; 2、然后计算S中去掉最后nt-1个字符的字串中a、b的个数保存在na、nb中 3、开始循环 4、判断T的第一个字符,若该字符为a则加上nb,反之加na 继续判断字串结束的下一个字符,若为a,na++,反之nb++; 6、去第四步看T的下一个字符,直到T遍历结束 7、输出,程序结束 这是我在赛码网上写的解题思路,接下...
暴力+字符串——A*B Problem
特判0。。。
判断字符串A中是否有B字符串!(其中A字符串是用“,”拼接成的).
public static boolean getBCheck(String buffer, String stye) { boolean bCheck = false; if (StrUtil.isEmptyOrNull(buffer)) { return bCheck; } if (buffer.c
字符串a的值是字符串b的名称,我如何通过字符串b取得字符串a的值?在线
字符串a的值是字符串b的名称,我如何通过字符串b取得字符串a的值?rn String aa = "xxxxxx";rn String bb = "aa";rn如何通过 bb取得aa的值"xxxxxx"????
字符串a的值是字符串b的名称,我如何通过字符串b取得字符串a的值?在线 详细见里面
字符串a的值是字符串b的名称,我如何通过字符串b取得字符串a的值?rn String aa = "xxxxxx";rn String bb = "aa";rn如何通过 bb取得aa的值"xxxxxx"????rnrn需求:rn因为我的服务器端的代码 也就是 String bb = "aa"; "aa"是从数据库中取出来的,而 String aa = "xxxxxx"; 是在程序中,现在我要同 bb来取得 "xxxxxx"; 该怎么避免啊?rn
有两个字符串A,B,判断B是不是A的子串
有两个字符串A,B,判断B是不是A的子串
字符串:a空格b,怎样分别得到a和b
a前b后也有可能有空格
字符串A与B,找出A,B的最大公共子串?
好题共欣赏!
字符串A和字符串B,判断B是A的子串,要求使用有限状态机实现。
字符串A和字符串B,判断B是A的子串,要求使用有限状态机实现。
字符串包含, 字符串 a 中包含 b 中的字符串字母,如果b字符串大于a字符串即返回false
根据题目写的小算法 ////////////////////////////////////////////////////////////////////////// ///字符串包含, 字符串 a 中包含 b 中的字符串字母,如果b字符串大于a字符串即返回false
给出字符串a和字符串b,保证b是a的一个子串,请你输出b在a中第一次出现的位置
#include #include using namespace std; int main() {     string a,b;     cin >> a >> b;     cout     return 0; }
看了一篇文章,说有a,b两个字符串,问,a字符串里是否有b字符串里的所有字符。
他说的一个思路是这样:rnrn假设我们有一定长度的字符串。我们可以给每个字母分配一个素数,从2开始。然后我们把大字串中的每个字母代表的素数相乘得出一个数,用小字串中的每个字母代表的素数去除它。如果除的过程中没有产生余数,则小字串是大字串的一个子集。rnrn请问这个的代码要怎么写啊,看的有些迷糊哟。
一个字符串的构成是“字符串A+一个空格+字符串B”,怎样用一个简练的方法分离出字符串A和字符串B ?
一个字符串的构成是“字符串A+一个空格+字符串B”,怎样用一个简练的方法分离出字符串A和字符串B ?
两字符串a,b,a包含b,如何将a中的b去掉
如a="abcdef"rn b="ab"rn a-b="cdef"rn怎么处理
3个字符串A,B,C,当A中有B时,C替换A中的B
3个字符串A,B,C,当A中有B时,C替换A中的Brn例: rnA:abxycd rnB:xy rnC:12 rn结果: ab12cd rnA,B,C 3个字符串可能很大(byte) rn写出高效的代码
编辑距离问题 对于给定的字符串A和字符串B,编程计算其编辑距离d(A,B)。
设A 和B 是2 个字符串。要用最少的字符操作将字符串A 转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B 所用的最少字符操作数称为字符串A到B 的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的2 个字符串A和B,计算出它们的编辑距离d(A,B)。 编程任务: 对于给定的字符串A和字符串B,编程计算其编辑距离d(A,B)。
输入第一个字符串A,输入第二个字符串B,统计B在A中出现的次数 abcabcabd abc
public class strCount{ public static void main(String[] args) { //定义字符串 String str=&quot;abc&quot;; String ss=&quot;abcabcabc&quot;; //定义返回的次数 int count=0; fo...
A^B == B^A?
Solve the equation in the name of this problem.nnInputnnThere are several cases. Each of them has a single real number as the smaller one of a and b in the equation on a separate line. You may assume it's no smaller than 1.1. Proceed until the end of file.nnOutputnnFor each case, print the other number on a single line. Keep 5 digits after decimal point. If no such number exists, print -1.nnSample Inputnn2n10nSample Outputnn4.00000n-1
a,b 和(a,b)
main()rnrn int a, b,c, d;rn a=3;rn b=5;rn c=a,b;rn d=(a,b);rnrn printf("c=%d" ,c);rn printf("d=%d" ,d);rnrnrnrn?
A>B?A:B
各位高手请问A>B?:A:B在C语言中怎样理解?
a^=b^=a^=b
在C语言中,上式的计算是没有定义的吗?rna^=b^=a^=b,为什么?rnrn应该可以算吧,从右到左,a的b次方赋值给a;然后b的新a次方,赋值给b;然后新a的新b次方赋值给新a。rnrn这样计算没有歧义把?
请教 已知字符串A 字符串B 要求将A中含有的B 全部替换成C
比如 A="abcdefg" B="bcd" C="ddd" ===>> A="adddefg"rnrn真心请教rnrn压在我心口的一块石头rnrn下午答得题 不知道对不对
如果字符串A包含字符串B,那么如何在A中除去B呢?
比如:rnrna="abcdefg"rnb="cde"rnrn最后我想要的结果是:rnrna中已将b的减去了,变成了:a=abfgrn也就是类似于a-b的效果,rnrn不知怎样实现?rn
字符串如果有A+B>B+A 则A>B
题目描述 设有n个正整数,将他们连接成一排,组成一个最大的多位整数。 如:n=3时,3个整数13,312,343,连成的最大整数为34331213。 如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。 代码实现: #include&amp;lt;stdio.h&amp;gt; #define MAX_LEN 1000 int main(int argc,const char*arg...
查找两个字符串a,b中的最长公共子串
查找两个字符串a,b中的最长公共子串 题目描述 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。 输入 abcdefghijklmnop abcsafjklmnopqrstuvw 输出 jklmnop 思路:最大公共子串与最长公共子序列不同str1 = “12345”   str2 = “123abc45”最长公共子串
对比两个字符串A、B的连续子串
对比两个字符串A、B的连续子串 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q 插入链接 Ctrl + L 插入代码 Ctrl + K 插入图片 Ctrl + G 提升标题 Ctrl + H 有序列表 Ctrl + O 无序列表 Ctrl + U 横线 Ctrl + R 撤销 Ctrl ...
A + B问题(字符串与数字之间的转换)
A + B问题(字符串与数字之间的转换)Description` 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. Input测试输入包含若干测试用例,每个测试用例占一行,格式为”A + B =”,相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出. Output对每个测试用例输出1行,即A+B的值. Sample I
求两个字符串a,b中的最长公共子串
题目描述 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。  输入例子: abcdefghijklmnop abcsafjklmnopqrstuvw 输出例子: jklmnop 【一解】 #include #include using namespace std; string lcs(strin
HPUOJ1163: 大数A + B [字符串](水)
1163: 大数A + B [字符串] 时间限制: 1 Sec  内存限制: 128 MB 提交: 31  解决: 8 [提交][状态][讨论版] 题目描述 给定两个整数A 和B,让你求出A+B 的值。 输入 第一行输入一个整数T ,代表有T 组测试数据。 每组数据占两行,第一行输入一个整数A ,第二行输入一个整数B 。 注:1=T=30,1=A,B=
查找两个字符串a,b的最长公共子串
对于两个字符串a、b,开辟一个大小为[a.length()+1][b.length()+1]的二维整型数组,初始化第一行和第一列为0,对于其他的每一个a[i][j],如果字符串a的第i个字符与字符串b的第j个字符相等,那么a[i][j]=a[i-1][j-1]+1,否则a[i][j]=0。 import java.util.Scanner; public class Main{ pub
查找两个字符串a,b中的最长公共子串。
题目描述:查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。 首先找到a和b中最短的那个字符串。 这道题我觉得最巧妙的解法是利用了substr截取a中的字符串,每截取一部分就去b中查找,若在b中,就把最长的字符串保存起来。 另外需要注意的是find函数返回的是size_t类型的值,需要强转成int类型的。 具体代码如下: #include &lt;iostr...
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制

相似问题

5
hive中字符串类型的日期为什么能够进行比较?
2
sqlserver如何查询所有数据库中包含某段字符串的存储过程名,结果展示为数据库名字-存储过程名
8
SQL查询语句,一个字段存储的数据为数组字符串,查询其是否包含某个值
5
Mybatis查询的字符串字段的顺序有些是逆序
7
sql 问题 一条sql进行查询拼接
3
sql多表查询难题请教,sql写不出来啦...
0
Sqlserver Always On 读写分离在程序端是怎样指定配置的。
3
SQL查询一个表t中所有A字段中存在某一位置的字符不等于'0'同时B字段相同位置的字符等于'2'或者'3'的记录
4
mysql语句如何写,去掉字符串中以下字符
2
从字符串转换日期和/或时间时,转换失败?
8
请教sql 语句数字转换字符串问题
0
kettle如何将json输出到一个表中的一个字段里(作为一个长字符串)(text类型)
5
sql查询是否包含字符串
1
MyCat作为数据库中间件时,sql中字符串包含@@会偶现报表不存在的错误
1
jpa 查询日期范围内,sql语句怎么写,日期转换成字符串传过去要跟数据库的日期格式对应吗
4
python爬虫爬都到的字符串写入mysql错误
1
点击girdview中的编辑按钮就会报错:输入字符串的格式不正确。
1
将表A中的a列(字符串类型实际长度不定)拆解并且插入到表B的多列中
1
求助:关于数据库中如何存储一段视频时长的问题?
3
sqlserver 从titles表中title字段查询的结果,如果有Computers单词用***替换,Cooking单词用###替换?