普元EOS中的命名sql的使用注意事项
???????????? {call swap_email_address (?, ?)}
??? </procedure>
将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,???那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
???存储过程的优点:
?????1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程?
??????? 可提高数据库执行速度。
?????2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的
??????? 事务处理结合一起使用。
?????3.存储过程可以重复使用,可减少数据库开发人员的工作量
?????4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
?
《二》parameterMap
parameterMap负责将对象属性映射成statement的参数。
???? <parameterMap??id="parameterMapName"class="commonj.sdo.DataObject">
????????? ?<parameter property ="propertyName"
????????????????????[jdbcType="VARCHAR"]属性javaType用于显式地指定被赋值参数的类型。如果没有提供类型将被假定为Object类型。
????????????????????? [javaType="string"]属性javaType用于显式地指定被赋值参数的类型。如果没有提供类型将被假定为Object类型。
???????????????????????[nullValue="NUMERIC"]属性nullValue的值可以是对于property类型来说任意的合法值,用于指定NULL的替换值。就是说,
?????????????????????????????????????????????????????????? 当属性值等于指定值时,相应的字段将赋值NULL。这个特性允许在应用中给不支持null的数据类型
???????????????????????????????????????????????????????? (即int,double,float等)赋值null。
??????????????? />
?????????? ??<parameter ...... />
????????? ??<parameter ...... />
?????????? </parameterMap>
括号[]是可选的属性。一个parameterMap可包含任意多的parameter元素。后面讨论parameter的各个属性。
《三》resultMap
在命名SQL框架中,Result Map是极其重要的组件。在执行查询Mapped Statement时,resultMap负责将结果集的列值映射成对象的属性值。resultMap的结构如下:
???? <resultMap id="resultMapName"class="commonj.sdo.DataObject">
?????????<result property="propertyName"column="COLUMN_NAME"[columnIndex="1"]
?????????????? ?[javaType="int"] [jdbcType="NUMERIC"] [nullValue="-999999"] />
?????????<result .../>
???????? <result .../>
???? </resultMap>
括号[]中是可选的属性。resultMap的id属性是唯一标识。ResultMap的class属性用于指定DataObject的类型名称(包括URI)。resultMap可以包括任意多的属性映射,将查询结果集的列值映射成DataObject的属性。属性的映射按它们在resultMap中定义的顺序进行。
?
?
?
?