jfinal中sql语句中的in关键字
2018-02-02 09:55
225 查看
1.错误写法
List<Record> list = Db.find("SELECT id FROM b_product_detail_phone WHERE productid = 123 AND id NOT IN (?)", "147,148");查询结果包括148,即参数并未全部识别147,148,仅识别了147,无法分辨是几个参数。
正确写法:
1.全部字符串拼接
List<Record> list = Db.find("SELECT id FROM b_product_detail_phone WHERE productid = 123 AND id NOT IN (147,148)");
2.jfinal模板
// List<Integer> idList = Arrays.asList(147,148);
List<Integer> idList = new ArrayList<>();
idList.add(147);
idList.add(148);
SqlPara para = Db.getSqlPara("test.test1", Kv.by("idList", idList));
List<Record> list = Db.find(para);
renderJson(list);all.sql文件内容
#namespace("test")
#include("test.sql")
#end
test.sql中内容
#sql("test1")
SELECT id FROM 表名 WHERE pid= 739 AND id NOT IN (
#for(id:idList)
#(for.index > 0 ? ", " : "")#(id)
#end
)
#end注意:模板中,#para生成占位符,而#(value)生成值
参考:
http://www.jfinal.com/feedback/1514
http://www.jfinal.com/feedback/2070
List<Record> list = Db.find("SELECT id FROM b_product_detail_phone WHERE productid = 123 AND id NOT IN (?)", "147,148");查询结果包括148,即参数并未全部识别147,148,仅识别了147,无法分辨是几个参数。
正确写法:
1.全部字符串拼接
List<Record> list = Db.find("SELECT id FROM b_product_detail_phone WHERE productid = 123 AND id NOT IN (147,148)");
2.jfinal模板
// List<Integer> idList = Arrays.asList(147,148);
List<Integer> idList = new ArrayList<>();
idList.add(147);
idList.add(148);
SqlPara para = Db.getSqlPara("test.test1", Kv.by("idList", idList));
List<Record> list = Db.find(para);
renderJson(list);all.sql文件内容
#namespace("test")
#include("test.sql")
#end
test.sql中内容
#sql("test1")
SELECT id FROM 表名 WHERE pid= 739 AND id NOT IN (
#for(id:idList)
#(for.index > 0 ? ", " : "")#(id)
#end
)
#end注意:模板中,#para生成占位符,而#(value)生成值
参考:
http://www.jfinal.com/feedback/1514
http://www.jfinal.com/feedback/2070
相关文章推荐
- 一个关于in关键字的奇怪的SQL语句
- jfinal3.0+在SQL语句中使用in传递参数的方法
- 使用in关键字来限制SQL语句中的select查询结果
- 在sql语句中in关键字提示查询性能
- ibatis中配置sql语句in关键字的用法(遍历list和数组)。
- 在sql语句中in关键字提示查询性能
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
- Mybatis中sql语句中的in查询,判断null和size为0的情况
- sqlite sql语句关键字GROUP BY的理解
- 关于in 和 exist 的区别-------------近期优化sql 语句的时候再次碰到
- PHP+Mysql实现多关键字与多字段生成SQL语句的函数
- 关于sql语句in的使用注意规则( 转)
- sql语句关键字学习网站
- SQL 语句优化--IN语句优化案例
- SQL 语句中的in、find_in_set、like的区别
- Sql语句中IN和exists的区别及应用
- 表字段出现oracle sql语句关键字时
- mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值
- Hibernate框架使用Hql语句的in关键字
- sql中in和exist语句的区别