3.4 ParameterMap and Inline Parameter
Posted fmys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.4 ParameterMap and Inline Parameter相关的知识,希望对你有一定的参考价值。
语法
<parameterMap id="parameterMapIdentifier"
[class="fullyQualifiedClassName, assembly|typeAlias"]
[extends="[sqlMapNamespace.]parameterMapId"]>
<parameter
property ="propertyName"
[column="columnName"]
[direction="Input|Output|InputOutput"]
[dbType="databaseType"]
[type="propertyCLRType"]
[nullValue="nullValueReplacement"]
[size="columnSize"]
[precision="columnPrecision"]
[scale="columnScale"]
[typeHandler="fullyQualifiedClassName, assembly|typeAlias"]
<parameter ... ... />
<parameter ... ... />
</parameterMap>
class属性可以帮助解析参数提升性能,建议声明。
例子
<parameterMap id="insert-product-param" class="Product">
<parameter property="description" />
<parameter property="id"/>
</parameterMap>
<statement id="insertProduct" parameterMap="insert-product-param">
insert into PRODUCT (PRD_DESCRIPTION, PRD_ID) values (?,?);
</statement>
除了以上使用ParameterMap标签声明外,还可以使用内联(inline)的方式
可以引入其他Map文件的ParameterMap,方式:Map_Name.ParameterMapName
3.4.1<parameterMap>attributes
3.4.1.3 extends
注意SQL语句中参数顺序
<parameterMaps> <parameterMap id="parameterMap1" extends="parameterMap2"> <parameter property="Id" /> <parameter property="Remark"/> </parameterMap> <parameterMap id="parameterMap2"> <parameter property="Name" /> <parameter property="Phone"/> </parameterMap> </parameterMaps> <select id="GetUserList" parameterMap="parameterMap1" resultMap="TestResult"> SELECT TOP 1000 [Id] ,[Name] FROM [CYI].[dbo].[ActiveUser] WHERE Name=? AND Phone=? AND Id=? AND Remark=? </select>
以上是关于3.4 ParameterMap and Inline Parameter的主要内容,如果未能解决你的问题,请参考以下文章
Mybatis中parameterType和parameterMap的区别
cache-refcacheresultMap*parameterMap*sql*insert*update*delete*select*),
kendoui parameterMap 解码 php 对象的正确 json 编码是啥?
元素类型为 “mapper“ 的内容必须匹配 “(cache-ref|cache|resultMap*|parameterMap
元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update