一、IBatis.net输出SQL语句
输出IBatis.net生成的SQL语句,能够方便调试。
在MapperHelper类中添加GetSql方法:
/// <summary>
/// 返回执行的Sql语句
/// </summary>
/// <param name="statementName"></param>
/// <param name="paramObject"></param>
/// <returns></returns>
public static string GetSql(string statementName, object paramObject)
{
IMappedStatement statement = MapperHelper.Instance().GetMappedStatement(statementName);
RequestScope scope = statement.Statement.Sql.GetRequestScope(statement, paramObject, MapperHelper.Instance().CreateSqlMapSession());
return scope.PreparedStatement.PreparedSql;
}
在执行DAO方法之前添加:
public IList<PersonModel> SelectPersonById(Hashtable ht)
{
string sql = MapperHelper.GetSql("SelectPersonById", ht);
IList<PersonModel> pList = mapper.QueryForList<PersonModel>("SelectPersonById", ht);
return pList;
}
在执行之前,得到执行Sql,可以记录日志方便调试等操作。
参考:http://www.cnblogs.com/caoyc/category/873268.html