2018-02-07 14:49

System.out.println("api_"+id);
String sqlStr = Db.use("oracle_" + d_id).getSql("api_"+id);
System.out.println(sqlStr);
list = Db.use("oracle_" + d_id).find(sqlStr);
输出:

#sql("api_sql_1517985849549")
select * from T_CD_JUECEFUWU
#end

api_sql_1517985849549
null
说明这个key 根本没有获取到sql ,但是我的DbSourse,也添加了,所以我就想的是add哪里的问题

2018-02-07 14:40

问题是
#sql("api_sql_1517985390850")
select * from T_CD_JUECEFUWU
#end
我第一次addSqlTemplate( new DbSourse(sqlStr) ) 这样的sql信息 缓存下来了,可以查询,第二次再addSqlTemplate( new DbSourse(sqlStr) )就不行了

2018-02-07 14:34

不是呀,我写的报错是sql not found 报的是java.sql.SQLException: sql is null

2018-02-02 12:47

刚 改成 activeRecordPlugin.addSqlTemplate(new DbSource()); 发现可以使用了。 不知道这样使用有没有什么副作用

2018-02-01 16:34

波大大,可能我表述的不太清楚,问题是这样的:用户录了一个sql 存放在数据库了,在用的时候只传入参数,我能不能用模板来解决这个问题。
例:用户传入的sql是(模板sql):String sql="select * from user where id=#p(id)"; ,用的时候只有参数 xxx?id=6
那么我怎么来用模板来启动这个sql,肯定是不能用where id=? 因为不确定参数位置

2018-02-01 16:22

我这个sql 在数据库存放的,而用户访问,只给对应参数;sql也是用户动态存进去的,能有什么办法来查询吗

2018-02-01 16:18

SqlPara sqlPara = Db.use(……).getSqlPara()这里我没有key ,获取不了paras;直接这样Db.use("oracle_" + d_id).find("select * from t_cp_file where keyid=#p(keyid)",record); 就错了。。求教