普元EOS中命名sql数据集

所谓的命名sql其实也就是数据库里的sql语句,普元EOS里做了一定的封装,以方便在程序中的使用。

命名SQL的基本元素包括:

1. <parameterMap>
parameterMap负责将对象属性映射成statement的参数。

2. <resultMap> resultMap负责将结果集的列值映射成对象的属性值

3. <statement>(Mapped
Statement)元素是个通用声明,可以用于任何类型的sql语句,

但具体的statement类型(即<insert>、<update>、<delete>、<select>、<procedure>)

提供了更直观的XML DTD,因此强烈推荐使用。

下表总结了statement类型及其属性:

Statement类型

属性

<statement>

id、parameterClass、resultClass、parameterMap、resultMap

<insert>

id、parameterClass、parameterMap

<update>

id、parameterClass、parameterMap

<delete>

id、parameterClass、parameterMap

<select>

id、parameterClass、resultClass、parameterMap、resultMap

<procedure>

id、parameterClass、resultClass、parameterMap、resultMap

在实际的使用过程中通常都是忽略了<statement>,而直接使<insert>,<update>,<delete>,<select>,<procedure>

《一》对于各个statement的用法举例:

PS:

(1)如果在脚本或样式表中使用特殊字符(例如< 或&)或实体引用(例如< 或&),则需要将脚本或样式表的内容标记为CDATA(字符数

据)节,如果不使用CDATA的话就必须使用相应的实体来代替,例如<必须用&lt;来替换

(2) 命名Sql中参数用##包起来,生成的是PreparedStatement,还可以使用$$把参数包起来,这样生成的是Statement,就是说在执行sql时

会先把参数放入到sql中,一般用在like或in操作中。对于in操作写命名Sql时,参数不能写成in(#field#)的方式,而应该写成

in  ($filed$)的方式,原因是in操作不支持preparedStatement。

<updateid="saveExamineInfo"parameterClass="java.util.HashMap"  >

<![CDATA[

UPDATE
$mainTableName$ T SET T.MAIN_CHECK1 = ‘$mainCheck1$‘ ,T.MAIN_CHECK2
= ‘$mainCheck2$‘

WHERE
T.MAIN_ID = $mainId$

]]></update>

<deleteid="deleteTemplate"parameterClass="java.util.HashMap">

<![CDATA[

delete
from IPTSM_TEMPLATEINFO where no = $no$

]]></delete>

<selectid="getTemplateInfo"parameterClass="java.util.Map" resultClass="commonj.sdo.DataObject"  ">

<![CDATA[

SELECT NO,IDENTIFY,TITLE,
FILENAME,TO_CHAR(MODIFYDATE,‘yyyy-MM-dd HH24:mi:ss‘) MODIFYDATE

from  IPTSM_TEMPLATEINFO  where identify =
‘$identify$‘   AND  TITLE LIKE ‘%$title$%‘ order
by  MODIFYDATE desc]]>

</select>

<procedure id="swapEmailAddresses"
parameterMap="swapParameters">

{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中
定义的顺序进行。

原文:http://hi.baidu.com/alimyself/item/b4ff4cc64259de76cfd4f807

时间: 2024-08-03 11:13:35

普元EOS中命名sql数据集的相关文章

普元EOS中tree(mini.Tree)

Extend mini.DataGrid Usage <ul id="tree1" class="mini-tree" url="../data/tree.txt" style="width:300px;padding:5px;" showTreeIcon="true" textField="text" idField="id" > </ul>

命名sql数据集

所谓的命名sql其实也就是数据库里的sql语句,普元EOS里做了一定的封装,以方便在程序中的使用. 命名SQL的基本元素包括: 1. <parameterMap> parameterMap负责将对象属性映射成statement的参数. 2. <resultMap> resultMap负责将结果集的列值映射成对象的属性值 3. <statement>(Mapped Statement)元素是个通用声明,可以用于任何类型的sql语句, 但具体的statement类型(即&l

普元EOS开发积累第一篇(常见错误解决方法) 持续更新

普元启动服务失败的解决方法 当多个人同时使用一个数据库的时候,启动普元控制台会一直停留在rcall,然后显示一个超时的警告,那样就需要修改一下普元的一个定时器配置项. 安装目录下\Primeton\Platform\apps_config\default\config 中的一个user-config.xml文件 将下列代码中高亮字段中的true改为false即可  <module name="Schedule">          <group name="

普元 EOS

产品详细说明 普元 EOS(以下简称 EOS)是基于J2EE平台.采用面向构件技术实现企业级应用开发.运行.管理.监控.维护的中间件平台.它将J2EE体系规范.构件技术.XML技术和 可视化开发技术完美结合起来,为基于J2EE平台之上的应用提供了面向构件的应用架构,通过图形化的构件单元作为应用系统的基本组成元素,为企业级应用系 统的开发带来了卓越的价值: .统一的企业级应用平台 .快速响应新的业务需求 .系统高度的稳定性 .方便的系统维护和监控 .保护已有的软件投资 .降低开发人员的技能要求 .

普元EOS开发积累第二篇(常见错误解决方法) 持续更新

第一步:出现如下图所示的应用名称默认为空.或者下拉框中无default应用可选(下拉框出现的workspace是流程管理应用,非项目应用). 第二部:到安装目录下看看\apache-tomcat-5.5.20\webapps下是否存在default文件夹.如果不存在,就到其他电脑上复制相同版本的default复制到此目录下即可, 第三部:返回第一步去勾选default应用. Ps: 关于多应用部署请看另外一篇博客.

普元部署多个应用的方法(适用EOS6.5以上版本,且无需governor中添加应用)

在EOS下跑default项目之外的另外一个项目,比如defaultNew 步骤1 安装EOS6.5,安装路径如下:E:\program\eos: 启动EOS Eos默认的应用名称为Default 步骤2 把tomcat\webapps下的default工程进行拷贝,注意此default文件夹下内容必须是最初版本: 把default改为defaultNew,拷贝至tomcat\webapps下. 步骤3 在E:\program\eos\apps_config目录下,拷贝default文件夹,改名

使用SQLQuery 在Hibernate中使用sql语句

session.createSQLQuery.转载 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.下面来描述如何使用这个API进行查询. 1.标量查询(Scalar queries) 最基本的SQL查询就是获得一个标量(数值)的列表. sess.createSQLQuery("SELECT * FROM CATS").list();sess.createSQLQuery("SELECT ID,

Spring JDBC 框架中, 绑定 SQL 参数的另一种选择:具名参数(named parameter)

使用spring的jdbcTemplate-----使用具名参数 在JDBC用法中,SQL参数是用占位符?表示,并且受到位置的限制,定位参数的问题在于,一旦参数的位置发生变化,必须改变参数的绑定,在Spring JDBC中,绑定SQL参数的另一种选择是使用具名参数,SQL具名参数是按照名称绑定,而不是位置绑定. 什么是具名参数? 具名参数: SQL 按名称(以冒号开头)而不是按位置进行指定. 具名参数更易于维护, 也提升了可读性. 具名参数由框架类在运行时用占位符取代 具名参数只在 NamedP

Excel 中使用sql语句查询

将Excel连接Oracle数据库 Excel选项板中"数据"—"自其他来源"下拉菜单中有有个可以连接其它数据库的选项"来自数据连接向导"和"来自Microsoft query". Oracle数据源的配置 在Excel中,不管实现哪种方式的对那种数据库的访问都需要配置数据源ODBC. 步骤1:打开Microsoft ODBC管理器,点击选项"用户DSN"的"添加"按钮 图 11 步骤2