运行期从ibatis配置文件中获取sql 的两种方法
运行期从ibatis配置文件中获取sql 的两种方法
运行期从ibatis配置文件中获取sql
1.通过SqlMapClientDaoSupport,SqlMapClientImpl,MappedStatement,Sql,RequestScope等ibatis提供的类
public List<UserInfo> getUserList(UserInfo userInfo) {
String sql = null;
SqlMapClientImpl sqlmap = (SqlMapClientImpl) this.getSqlMapClient();
MappedStatement stmt = sqlmap.getMappedStatement("getUserInfoList");
Sql stmtSql = stmt.getSql();
RequestScope requestScope = new RequestScope();
requestScope.setStatement(stmt);
sql = stmtSql.getSql(requestScope, userInfo);
System.out.println(sql);
return null;
}
注:这个方法我是写在dao中的,该dao extends SqlMapClientDaoSupport,所以上述就可以直接this调用getSqlMapClient()方法,
2.通过SqlMapExecutorDelegate,MappedStatement,Sql,RequestScope等ibatis提供的类
public List<UserInfo> getUserList(UserInfo userInfo) {
SqlMapExecutorDelegate delegate=((ExtendedSqlMapClient)
(getSqlMapClientTemplate().getSqlMapClient())).getDelegate();
MappedStatement ms = delegate.getMappedStatement("getUserInfoList");
Sql sql=ms.getSql();
RequestScope requestScope = new RequestScope();
requestScope.setStatement(ms);
String sqlStr = sql.getSql(requestScope,userInfo);
System.out.println(sqlStr);
}
注:这两个例子中用到的类都是ibatis官方jar文件中的,快速导入即可,"getUserInfoList"为ibatis的xml文件中配置的id,getSql(,)
中第二个参数就是要传递的参数对象。
上述写法完全可以再简化,上述只是简单介绍,可供参考.......
阅读更多- 运行期从ibatis配置文件中获取sql 的两种方法
- Java代码中获取配置文件(config.properties)中内容的两种方法
- MyBatis两种执行XXXMapper.xml配置文件中SQL语句的方法
- Java 获取*.properties配置文件中的内容 ,常见的两种方法
- 获取配置文件(web.config)的两种方法.NET
- 获取内核配置文件的两种方法
- .NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法
- 在配置文件中获取数据源,然后在hibernate中用sql语句进行查询操作
- Windows Phone 8.1中安装包文件及其两种获取方法
- 获取PE文件结构的两种方法
- android应用 获取本地指定类型文件 的两种最优方法
- @Autowired获取配置文件中被注入实例的两种方式
- 关于设置SQLPLUS提示符样式的方法----登陆配置文件,动态加载提示符
- SQL Server安装:"安装文件配置服务器失败"的解决方法 _SQL技巧
- VC++实现获取文件占用空间大小的两种方法(非文件大小)
- Android中由文件名获取文件Id的两种方法
- ibatis执行SQL语句打印控制台的log4j.xml文件配置方法
- MySQL命令执行sql文件的两种方法
- spring 配置hibernate映射文件的两种方法
- 两种在web项目中获取读取文件的路径的方法