NutzCN Logo
问答 多数据源查询数据,使用自定义sql未切换成功
发布于 73天前 作者 qq_722cb381 191 次浏览 复制 上一个帖子 下一个帖子
标签:
dao : {
		type : "org.nutz.dao.impl.NutDao",
		args : [ {
			refer : "dataSource"
		}, {
			refer : "sqlManeger"
		} ]
	},
	dao4Sx : {
		type : "org.nutz.dao.impl.NutDao",
		args : [ {
			refer : "dataSource4Sx"
		}, {
			refer : "sqlManeger"
		} ]
	},
6 回复

怎么查询 怎么切换的,代码呢

@Wizzercn

Pager<Record> pager = new Pager<Record>(PAGESIZE, page);
		Condition cnd = Cnd.NEW();
			Sql sql = dao4Sx.sqls().create("find.info.list.by.admin.id");
			Sql sql1 = dao4Sx.sqls().create("find.info.count.by.admin.id");
			cnd = Cnd.where("m.isdelete", "=", 0);
			sql.setCondition(cnd);
			sql1.setCondition(cnd);
			sql.params().set("pageStart", (page - 1) * PAGESIZE);
			sql.params().set("pageSize", PAGESIZE);
			pager.setEntities(SqlActuator.runReport(sql, dao));
			pager.setCount(SqlActuator.runUnq(sql1, dao));
			
		return pager;

还是查的当前数据库的,并不是dao4Sx注入这个数据库的,报错提示当前数据库表不存在

用这种的就可以查出来,使用自定义sql还需要指定一下数据库吗 ,应该不用吧

Pager<Info> pager = new Pager<Info>(20, page);
		org.nutz.dao.pager.Pager pagers = dao4Sx.createPager(page, 20);
		pager.setEntities(dao4Sx.query(Info.class, Cnd.where("isdelete", "=", 0),pagers));
		pager.setCount(dao4Sx.count(Info.class));
SqlActuator.runReport(sql, dao)
SqlActuator.runUnq(sql1, dao)

传递的是 dao 难道不应该是dao4Sx么,不知道封装的里面是怎么写的

是要读写分离么?

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