sql in的参数化查询
来源:互联网 发布:wp8.1软件 编辑:程序博客网 时间:2024/04/30 14:11
业务场景:假设excel表中有n条数据,需要将这你n条数据插入到数据库中,插入前需判断数据库中是否有该条数据,有则不插入,但是如果对excel中每条数据都遍历一次数据库很影响效率,所以老大要求先把excel表在数据库中重复的数据先找出来,放在一个list中,然后在逻辑中进行判断,这样就不用频繁访问数据库了。
实现方式:最开始的想法就是写个如下的sql :
select * from table a where a.id in ?
?里我是直接传个list进去的, 运行过程中发现是取不到数据的,然后后面很长时间都被这个问题困扰着,最后终于没办法了,遂请教同事,同事看了一眼,甩了一段query的setparameter的源代码给我:
原来源代码中是先判断传进去的参数是否有参数名(name),然后才会判断传的值是否是集合,而我之前sql中的?是没有参数名的,就直接运行else里面的内容了,于是我将之前的sql语句换成了:
select * from table a where a.id in :id
这样参数名就有了,程序也可以正常运行了,从中得到一个启示:我们现在做的工作基本上基于一些大型的框架,诚然这些框架为开发工作提供了很多便利,但是如果只会用框架而不知道其中的原理,感觉就是一般人口中的码农了,毕竟我们还有个高大上的的名字软件开发工程师,不是吗
0 0
- sql in的参数化查询
- SQL中in like 的参数化查询
- SQL where in 参数化查询
- SQL(参数化)的查询
- 参数化的SQL查询
- SQL的IN参数化查询(字符列表转换成整型的处理方法)
- SQL的IN参数化查询(字符列表转换成整型的处理方法)
- SQL参数化查询
- SQL参数化查询
- SQL参数化查询
- sql参数化查询
- SQL参数化查询
- SQL参数化查询
- SQL参数化查询
- 关于SQL参数化的模糊查询
- 防止sql注入的参数化查询
- 防SQL注入的参数化查询
- SQL模糊查询的参数化
- 我的标题233
- 2017 week2 学习周记 之CocoaPods iTerm2
- HDU 1431 素数回文数
- MFC之下拉列表 ComboBox
- [后缀数组]ural1297 Palindrome
- sql in的参数化查询
- [代码实例][.NET]操作Excel文件
- Android Support v4、v7、v13的区别和应用场景
- 二分查找算法
- 猜数字游戏的提示 (Master-Mind Hints, UVa 340)
- 微信分享之因分享图片太大无法起调微信客户端
- 3个最好的PHP框架的Web开发
- 可新可新的新手刚刚上路,学C语言,见笑了,大神不用来了。(内有break与continue)
- Raft算法和开源实现