DAO里面写了个方法:
public List getList(HashMap map) {
return this.getSqlMapClientTemplate().queryForList(“sqlName”,map);
}
这样的一个方法,我执行了一个名叫:sqlName 的sql。
select * from test where id=#id#
我想在调用getList()这个方法的时候,我能把sql也获取到一个String(Object)里面
???
不知道如何实现??或者还有其他的办法???
[b]问题补充:[/b]
因为考虑到不去破坏整体框架,所以sql肯定要写到xml文件里面。
但是部分sql需要抓取出来使用,用ireport导出报表,需要传sql。。
不知道还有什么办法能实现这样的需要??
简单的说就是sql需要使用2次,而且尽量些到xml配置文件中
谢谢。
[b]问题补充:[/b]
DAO里面写了个方法:
public List getList(HashMap map) {
return this.getSqlMapClientTemplate().queryForList(“sqlName”,map);
}
这样的一个方法,我执行了一个名叫:sqlName 的sql。
select * from test where id=#id#
我想在调用getList()这个方法的时候,我能把sql也获取到一个String(Object)里面
???
不知道如何实现??或者还有其他的办法???
[b]问题补充:[/b]
因为考虑到不去破坏整体框架,所以sql肯定要写到xml文件里面。
但是部分sql需要抓取出来使用,用ireport导出报表,需要传sql。。
不知道还有什么办法能实现这样的需要??
简单的说就是sql需要使用2次,而且尽量些到xml配置文件中
谢谢。
linpyi 你说对了,这个项目是改造项目。jasper文件都用以前的。
所以没有办法再来做一次。只有想办法传个sql进去比较简单,快速了。
simon511 提的建议可以把sql拿出来,但是我试验了下,传了个map进去,好像参数没有传进去,出来的还是id=?这样的形式。不知道我是否传错地方?
代码如下:
String sql1 = null;
ExtendedSqlMapClient extendedSqlMapClient = (ExtendedSqlMapClient) this.getSqlMapClient();
MappedStatement mappedStatement = extendedSqlMapClient
.getMappedStatement("getADSLReasonAspList");
if (mappedStatement != null) {
RequestScope request = new RequestScope();
request.setStatement(mappedStatement);
sql1 = mappedStatement.getSql().getSql(request, map);
}
System.out.println(sql1);
谢谢。
cats_tiger 的方法我想如果有1000人并发,是否有问题?
导致sql乱续?方法有点难度哈。目前也不知道会不会导致其他问题产生。
谢谢大家的指导。
ps: 怎么提问没有“回复”这样的按钮啊??