diff options
Diffstat (limited to 'demos/sqlmap-docs/protected/pages/Manual/StatementElementAttributes.page')
-rw-r--r-- | demos/sqlmap-docs/protected/pages/Manual/StatementElementAttributes.page | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/demos/sqlmap-docs/protected/pages/Manual/StatementElementAttributes.page b/demos/sqlmap-docs/protected/pages/Manual/StatementElementAttributes.page deleted file mode 100644 index e5cef09d..00000000 --- a/demos/sqlmap-docs/protected/pages/Manual/StatementElementAttributes.page +++ /dev/null @@ -1,216 +0,0 @@ -<com:TContent ID="body">
-
-<h1>Statement-type Element Attributes</h1>
-<p>The six statement-type elements take various attributes. See
-<a href="?page=Manual.MappedStatements">Mapped Statements</a> for a
-table itemizing which attributes each
-element-type accepts. The individual attributes are described in the sections
-that follow.</p>
-
-<h2><tt>id</tt> attribute</h2>
-<p>
-The required <tt>id</tt> attribute provides a name for this statement, which must
-be unique within this <tt><SqlMap></tt>.</p>
-
-<h2><tt>parameterMap</tt> attribute</h2>
-<p>A Parameter Map defines an ordered list of values that match up with the "?"
-placeholders of a standard, parameterized query statement.
-The following example shows a <tt><parameterMap></tt> and a corresponding
-<tt><statement></tt>.
-
-<com:TTextHighlighter Language="xml" CssClass="source">
-<parameterMap id="insert-product-param" class="Product">
- <parameter property="id"/>
- <parameter property="description"/>
-</parameterMap>
-
-<statement id="insertProduct" parameterMap="insert-product-param">
- insert into PRODUCT (PRD_ID, PRD_DESCRIPTION) values (?,?);
-</statement>
-</com:TTextHighlighter>
-
-In the above example, the Parameter Map describes two parameters that
-will match, in order, two placeholders in the SQL statement. The first "?"
-is replaced by the value of the <tt>id</tt> property. The second is replaced with
-the <tt>description</tt> property.</p>
-
-<p>SQLMap also supports named, inline parameters, which most developers seem to
-prefer. However, Parameter Maps are useful when the SQL must be kept in a
-standard form or when extra information needs to be provided. See
-<a href="?page=Manual.ParameterMap">Parameter Maps</a> for futher details.</p>
-
-<h2><tt>parameterClass</tt> attribute</h2>
-<p>If a <tt>parameterMap</tt> attribute is not specified, you may specify a
-<tt>parameterClass</tt> instead and use <a href="?page=Manual.InlineParameterMaps">inline parameters</a>.
-The value of the <tt>parameterClass</tt> attribute
-can be any existing PHP class name. The following example shows a
-statement using a PHP class named <tt>Product</tt> in <tt>parameterClass</tt>
-attribute.</p>
-
-<com:TTextHighlighter Language="xml" CssClass="source">
-<statement id="statementName" parameterClass="Product">
- insert into PRODUCT values (#id#, #description#, #price#)
-</statement>
-</com:TTextHighlighter>
-
-<h2><tt>resultMap</tt> attribute</h2>
-<p>A Result Map lets you control how data is extracted from the result of a
-query, and how the columns are mapped to object properties.
-The following example shows a <tt><resultMap></tt> element and a
-corresponding <tt><statement></tt> element.</p>
-
-<com:TTextHighlighter Language="xml" CssClass="source">
-<resultMap id="select-product-result" class="product">
- <result property="id" column="PRD_ID"/>
- <result property="description" column="PRD_DESCRIPTION"/>
-</resultMap>
-
-<statement id="selectProduct" resultMap="select-product-result">
- select * from PRODUCT
-</statement>
-</com:TTextHighlighter>
-
-<p>In the above example, the result of the SQL query will be mapped to
-an instance of the <tt>Product</tt> class using the "select-product-result"
-<tt><resultMap></tt>. The <tt><resultMap></tt> says to
-populate the <tt>id</tt> property
-from the <tt>PRD_ID</tt> column, and to populate the <tt>description</tt> property
-from the <tt>PRD_DESCRIPTION</tt> column.</p>
-
-<div class="tip"><b class="tip">Tip:</b>
-In the above example, note that using "<tt> select * </tt>" is supported. If
-you want all the columns, you don't need to map them all individually. (Though
-many developers consider it a good practice to always specify the columns
-expected.)
-</div>
-
-<p>See <a href="?page=Manual.ResultMaps">Result Maps</a> for futher details.</p>
-
-<h2><tt>resultClass</tt> attribute</h2>
-<p>If a <tt>resultMap</tt> is not specified, you may specify a <tt>resultClass</tt>
-instead. The value of the <tt>resultClass</tt> attribute can be the name of a PHP
-class or primitives like <tt>integer</tt>, <tt>string</tt>, or <tt>array</tt>. The class
-specified will be automatically mapped to the columns in the result, based on
-the result metadata. The following example shows a <tt><statement></tt> element
-with a <tt>resultClass</tt> attribute.</p>
-
-<com:TTextHighlighter Language="xml" CssClass="source">
-<statement id="SelectPerson" parameterClass="int" resultClass="Person">
- SELECT
- PER_ID as Id,
- PER_FIRST_NAME as FirstName,
- PER_LAST_NAME as LastName,
- PER_BIRTH_DATE as BirthDate,
- PER_WEIGHT_KG as WeightInKilograms,
- PER_HEIGHT_M as HeightInMeters
- FROM PERSON
- WHERE PER_ID = #value#
-</statement>
-</com:TTextHighlighter>
-
-<p>In the above example, the <tt>Person</tt> class has properties including:
-<tt>Id</tt>, <tt>FirstName</tt>, <tt>LastName</tt>, <tt>BirthDate</tt>,
-<tt>WeightInKilograms</tt>, and <tt>HeightInMeters</tt>. Each of these corresponds
-with the column aliases described by the SQL select statement using the "as"
-keyword, a standard SQL feature. When executed, a <tt>Person</tt> object is
-instantiated and populated by matching the object property names to the column
-names from the query.</p>
-
-<p>Using SQL aliases to map columns to properties saves defining a
-<tt><resultMap></tt> element, but there are limitations. There is no way to
-specify the types of the output columns (if needed), there is no way to
-automatically load related data such as complex properties.You can overcome
-these limitations with an explicit <a href="?page=Manual.ResultMaps">Result Map</a>.</p>
-
-<h2><tt>listClass</tt> attribute</h2>
-<p>In addition to providing the ability to return an <tt>TList</tt> of objects, the
-DataMapper supports the use of custom collection: a class that implements
-<tt>ArrayAccess</tt>. The following is an example of a TList (it implements
-ArrayAccess) class that can be used with the DataMapper.</p>
-
-<com:TTextHighlighter Language="php" CssClass="source">
-class AccountCollection extends TList
-{
- public function addRange($accounts)
- {
- foreach($accounts as $account)
- $this->add($account);
- }
-
- public function copyTo(TList $array)
- {
- $array->copyFrom($this);
- }
-}
-</com:TTextHighlighter>
-
-<p>An <tt>ArrayAccess</tt> class can be specified for a select statement through the
-<tt>listClass</tt> attribute. The value of the <tt>listClass</tt> attribute is the
-full name of a PHP class that implements <tt>ArrayAccess</tt>. The statement
-should also indicate the <tt>resultClass</tt> so that the DataMapper knows how to
-handle the type of objects in the collection. The <tt>resultClass</tt> specified
-will be automatically mapped to the columns in the result, based on the result
-metadata. The following example shows a <tt><statement></tt> element with a
-<tt>listClass</tt> attribute.</p>
-
-<com:TTextHighlighter Language="xml" CssClass="source">
-<statement id="GetAllAccounts"
- listClass="AccountCollection"
- resultClass="Account">
- select
- Account_ID as Id,
- Account_FirstName as FirstName,
- Account_LastName as LastName,
- Account_Email as EmailAddress
- from Accounts
- order by Account_LastName, Account_FirstName
-</statement>
-</com:TTextHighlighter>
-
-<h2><tt>cacheModel</tt> attribute</h2>
-<p>If you want to cache the result of a query, you can specify a Cache Model as
-part of the <tt><statement></tt> element. The following example shows a
-<tt><cacheModel></tt> element and a corresponding <tt><statement></tt>.</p>
-
-<com:TTextHighlighter Language="xml" CssClass="source">
-<cacheModel id="product-cache" implementation="LRU">
- <flushInterval hours="24"/>
- <flushOnExecute statement="insertProduct"/>
- <flushOnExecute statement="updateProduct"/>
- <flushOnExecute statement="deleteProduct"/>
- <property name="size" value="1000" />
-</cacheModel>
-
-<statement id="selectProductList" parameterClass="int" cacheModel="product-cache">
- select * from PRODUCT where PRD_CAT_ID = #value#
-</statement>
-</com:TTextHighlighter>
-
-<p>In the above example, a cache is defined for products that uses a
-Least Recently Used [LRU] type and flushes every 24 hours or whenever
-associated update statements are executed. See
-<a href="?page=Manual.CacheModels">Cache Models</a> for futher details</p>
-
-<h2><tt>extends</tt> attribute</h2>
-<p>When writing Sql, you often encounter duplicate fragments of SQL. SQLMap
-offers a simple yet powerful attribute to reuse them.</p>
-
-<com:TTextHighlighter Language="xml" CssClass="source">
-<select id="GetAllAccounts"
- resultMap="indexed-account-result">
-select
- Account_ID,
- Account_FirstName,
- Account_LastName,
- Account_Email
-from Accounts
-</select>
-
-<select id="GetAllAccountsOrderByName"
- extends="GetAllAccounts"
- resultMap="indexed-account-result">
- order by Account_FirstName
-</select>
-</com:TTextHighlighter>
-
-</com:TContent>
\ No newline at end of file |