/// <summary> /// 查询对象 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="statementName"></param> /// <param name="parameterObject"></param> /// <returns></returns> public virtual T ExecuteQueryForObject <T>(string statementName, object parameterObject) { using (SqlMapDaoSession session = DaoSession) { return(session.SqlMap.QueryForObject <T>(statementName, parameterObject)); } }
/// <summary> /// Looks up the parent DaoManager, gets the local transaction /// (which should be a SqlMapDaoTransaction) and returns the /// SqlMap associated with this DAO. /// </summary> /// <returns>The SqlMap instance for this DAO.</returns> protected SqlMapper GetLocalSqlMap() { DaoManager daoManager = DaoManager.GetInstance(this); SqlMapDaoSession sqlMapDaoSession = (SqlMapDaoSession)daoManager.LocalDaoSession; return(sqlMapDaoSession.SqlMap); }
public virtual bool ExecuteDelete(string statementName, object parameterObject) { using (SqlMapDaoSession session = DaoSession) { return(session.SqlMap.Delete(statementName, parameterObject) > 0); } }
/// <summary> /// 执行修改 /// </summary> /// <param name="statementName"></param> /// <param name="parameterObject"></param> /// <returns></returns> public virtual int ExecuteUpdate(string statementName, object parameterObject) { using (SqlMapDaoSession session = DaoSession) { return(session.SqlMap.Update(statementName, parameterObject)); } }
/// <summary> /// 查询列表 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="statementName"></param> /// <param name="parameterObject"></param> /// <returns></returns> public virtual IList <T> ExecuteQueryForList <T>(string statementName, object parameterObject) { using (SqlMapDaoSession session = DaoSession) { var sqlMapper = session.SqlMap; IMappedStatement statement = sqlMapper.GetMappedStatement(statementName); if (!sqlMapper.IsSessionStarted) { sqlMapper.OpenConnection(); } RequestScope scope = statement.Statement.Sql.GetRequestScope(statement, parameterObject, sqlMapper.LocalSession); string result = scope.PreparedStatement.PreparedSql; return(session.SqlMap.QueryForList <T>(statementName, parameterObject)); } }
/// <summary> /// 执行插入 /// </summary> /// <param name="statementName"></param> /// <param name="parameterObject"></param> /// <returns></returns> public virtual int ExecuteInsert(string statementName, object parameterObject) { using (SqlMapDaoSession session = DaoSession) { //var sqlMapper = session.SqlMap; //IMappedStatement statement = sqlMapper.GetMappedStatement(statementName); //if (!sqlMapper.IsSessionStarted) //{ // sqlMapper.OpenConnection(); //} //RequestScope scope = statement.Statement.Sql.GetRequestScope(statement, parameterObject, sqlMapper.LocalSession); //string result = scope.PreparedStatement.PreparedSql; object ob = session.SqlMap.Insert(statementName, parameterObject); return(ob == null ? 0 : (int)ob); } }
/// <summary> /// Get an account by his id. /// </summary> /// <param name="accountID">An account id.</param> /// <returns>An account.</returns> public Account GetAccountById(int accountID) { SqlMapDaoSession sqlMapDaoSession = null; try { sqlMapDaoSession = (SqlMapDaoSession)this.GetContext(); ISqlMapper sqlMap = sqlMapDaoSession.SqlMap; return((Account)sqlMap.QueryForObject("GetAccountViaColumnName", accountID)); } catch (DataAccessException ex) { throw new DataAccessException("Error executing SqlAccountViaSqlMapDao.GetAccountById. Cause :" + ex.Message, ex); } }
/// <summary> /// Update an account /// </summary> /// <param name="account">The account to Delete</param> public void Delete(Account account) { SqlMapDaoSession sqlMapDaoSession = null; try { sqlMapDaoSession = (SqlMapDaoSession)this.GetContext(); ISqlMapper sqlMap = sqlMapDaoSession.SqlMap; sqlMap.Delete("DeleteAccountViaInlineParameters", account); } catch (DataAccessException ex) { throw new DataAccessException("Error executing SqlAccountViaSqlMapDao.Delete. Cause :" + ex.Message, ex); } }
/// <summary> /// Create an account /// </summary> /// <param name="account">The account to create</param> public void Create(Account account) { SqlMapDaoSession sqlMapDaoSession = null; try { sqlMapDaoSession = (SqlMapDaoSession)this.GetContext(); ISqlMapper sqlMap = sqlMapDaoSession.SqlMap; sqlMap.Insert("InsertAccountViaParameterMap", account); } catch (DataAccessException ex) { throw new DataAccessException("Error executing SqlAccountViaSqlMapDao.Create. Cause :" + ex.Message, ex); } }
/// <summary> /// 得到运行时ibatis.net 动态生成的SQL /// </summary> /// <param name="sqlMapper"></param> /// <param name="statementName"></param> /// <param name="paramObject"></param> /// <returns></returns> public virtual string GetRuntimeSql(string statementName, object paramObject) { string result; try { using (SqlMapDaoSession session = DaoSession) { var sqlMapper = session.SqlMap; IMappedStatement statement = sqlMapper.GetMappedStatement(statementName); if (!sqlMapper.IsSessionStarted) { sqlMapper.OpenConnection(); } RequestScope scope = statement.Statement.Sql.GetRequestScope(statement, paramObject, sqlMapper.LocalSession); result = scope.PreparedStatement.PreparedSql; } } catch (Exception ex) { result = "获取SQL语句出现异常:" + ex.Message; } return(result); }
protected ISqlMapper GetLocalSqlMap() { SqlMapDaoSession sqlMapDaoSession = daoManager.LocalDaoSession as SqlMapDaoSession; return(sqlMapDaoSession.SqlMap); }