DbPro db = Db.use("mssql");
//String sql1=db.getSql("student.searchStudent"); 这样写无法取到sql
String sql = Db.getSql("student.searchStudent");//可以取到正确的sql
List<Record> list1= db.templateByString(sql,Kv.by("cond",cond)).find();//可以取到结果
//下边代码无法取到结果
List<Record> records = Db.use("mssql").template("student.searchStudent",Kv.by("cond",cond)).find();
下边是修改后的写法
DbPro db = Db.use("mssql");
//String sql1=db.getSql("mssql.searchStudent"); 这样写无法取到sql
SqlPara sqlPara = Db.getSqlPara("mssql.searchStudent",Kv.by("cond",cond));//可以取到正确的sql
List<Record> records= db.find(sqlPara.getSql(),sqlPara.getPara());//可以取到结果
//下边代码无法取到结果
//List<Record> records = Db.use("mssql").template("mssql.searchStudent",Kv.by("cond",cond)).find();
renderJson(Ret.ok("data",records));问题在注释里写出来了,两种写法一种能取到结果,一种取不到结果,我是两个数据源,一个mysql,一个mssql
项目:JFinal
解决办法是,针对不同的数据源的 arp 对象,分别给它配置 addSqlTemplate(...);