NutzCN Logo
问答 为什么感觉sql语句没有执行
发布于 2579天前 作者 qq_64f81159 1588 次浏览 复制 上一个帖子 下一个帖子
标签:

用in做查询,传入的是list,日志如下,感觉查询语句没有执行啊

[INFO][2017-11-30 16:47:09,331][com.kanq.app.App]begin to run excel and db comparator application
[INFO][2017-11-30 16:47:36,618][org.nutz.ioc.impl.NutIoc]NutIoc init begin ...
[INFO][2017-11-30 16:47:36,624][org.nutz.ioc.impl.NutIoc]... NutIoc init complete
[INFO][2017-11-30 16:47:37,102][com.alibaba.druid.pool.DruidDataSource]{dataSource-1} inited
[INFO][2017-11-30 16:47:37,244][org.nutz.filepool.NutFilePool]Init file-pool by: C:\Users\Administrator/.nutz/tmp/dao/ [200000]
[INFO][2017-11-30 16:47:37,245][org.nutz.filepool.NutFilePool]file-pool.cursor: 0
[INFO][2017-11-30 16:47:37,359][org.nutz.dao.jdbc.Jdbcs]Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
2791------
1000
[WARN][2017-11-30 16:47:38,266][org.nutz.dao.impl.entity.AnnotationEntityMaker]No @Table found, fallback to use table name='yg_helper' for type 'com.kanq.vo.YgHelper'

代码如下

private List<YgHelper> getDBInfo(Dao dao,String tableName,List<String> idCards){
		Sql sql = Sqls.create("SELECT qlrzjbh,djkid,fdzl,jzmj FROM $table WHERE qlrzjbh in (@idCards)");
		sql.vars().set("table", tableName);
		sql.params().set("idCards", idCards.toArray(new String[idCards.size()]));
		sql.setCallback(Sqls.callback.entities());
		sql.setEntity(dao.getEntity(YgHelper.class));
		dao.execute(sql);
		List<YgHelper> list = sql.getList(YgHelper.class);
		return list;
	}
8 回复

是不是缓存了?

并没有缓存啊 这个代码应该没问题啊 ,dao.js啥也没做就是连接数据库,没有任何缓存。

哦, 你的日志是info, 然而sql在debug级别

其实执行了,是的 日志级别错了。

idCards.toArray(new String[idCards.size()])

这个还是不能传list吗 非要数组。。

额, 还是数组,没改...

希望下一个版本把list加上去,毕竟in查询还是比较常用的捏

嗯嗯, 报个issue吧

添加回复
请先登陆
回到顶部