Ibatis 测试出SQL

String sql = Brg.Global.Map.BaseBatis.GetRuntimeSql("select_T_JewelleryProductType", _Model);

/// <summary>

/// 得到运行时ibatis.net动态生成的SQL

/// </summary>

/// <param name="sqlMapper"></param>

/// <param name="statementName"></param>

/// <param name="paramObject"></param>

/// <returns></returns>

public static string GetRuntimeSql(string statementName, object paramObject)

{

string result = string.Empty;

try

{

IMappedStatement statement = SqlMap.GetMappedStatement(statementName);

if (!SqlMap.IsSessionStarted)

{

SqlMap.OpenConnection();

}

RequestScope scope = statement.Statement.Sql.GetRequestScope(statement, paramObject, SqlMap.LocalSession);

result = scope.PreparedStatement.PreparedSql;

}

catch (Exception ex)

{

result = "获取SQL语句出现异常:" + ex.Message;

}

return result;

}

时间: 2024-11-10 01:08:41

Ibatis 测试出SQL的相关文章

浅入浅出SQL注入

已经开始了学习牛腩新闻发布系统,在讲后台代码的时候讲了一些重构SQLHelper的知识,存储过程和触发器等,这些以前都是接触过的.而SQL注入是以前没有注意过的,所以停下来总结学习一下SQL注入. 首先什么是SQL注入呢? 实战篇~~~~~~~~~~ SQL注入概念 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到

打印出Ibatis最终的SQL语句

做项目时遇到这样的需求,希望能打印出最终数据库执行的SQL语句,一般遇到这些有一定通用性的问题,我都会到Appfuse中去找找例子,结果这次没有成功.它是有相关的配置,但是好像没有用,我也就没有深查下去,我想这种问题网上肯定有人遇到过,只要找到这个人就行了.经过换不同的关键字,我最后找到了如下的配置. log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log

mybatis和ibatis控制台打印sql语句方法

#将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句 log4j.rootLogger=debug,stdout,logfile### 把日志信息输出到控制台 ###log4j.appender.stdout=org.apache.log4j.ConsoleAppender#log4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.Simpl

ibatis cannot find &lt;sql&gt; pattern

"Could not find SQL statement to include with refid xxx"A: 认真把每个用到xxx的地方都看一遍 ibatis cannot find <sql> pattern

ibatis/mybatis显示sql语句 log4j.properties配置文件

将ibatis/mybatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句,方便调试: ### 设置Logger输出级别和输出目的地 ### log4j.rootLogger=debug,stdout,logfile ### 把日志信息输出到控制台 ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender #log4j.appender.stdout.Target=System.err log4j.a

不需要配置log4j , 调试打印ibatis执行的sql语句和参数

背景:如果不想通过配置log4j的方式来打印ibatis执行的sql语句和参数param,可以使用如下方法在控制台打印sql语句和参数 public static void main(String[] args) { try { //声明配置文件的名称(映射文件被定义在其中) String resource = "com/test/tele/bean/iBatis-config-test.xml"; //利用工具类Resources来读取到配置文件 Reader reader = Re

入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试

黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面的具体构成和原理,只要像用户一样看待产品就可以了. 例如银行转账功能,不需要知道转账的具体实现代码是怎样工作的,只需要把自己想象成各种类型的用户,模拟多种转账情况看系统是否能正常转账即可. 但是仅仅像用户一样去测试又是不够的.如果只做黑盒测试,必然是存在一定的风险的. 例如某个安全性较高的软件系统,

打印Ibatis最后,SQL声明

做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种问题网上肯定有人遇到过.仅仅要找到这个人即可了.经过换不同的keyword.我最后找到了例如以下的配置. log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.lo

ibatis 的 &quot;This SQL map does not contain a MappedStatement&quot;的错误

This SQL map does not contain a MappedStatement named List 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: IBatisNet.DataMapper.Exceptions.DataMapperException: This SQL map does not contain a MappedStatement named Adminf.List