使用动态映射

1.
<select parameterClass="string" resultMap="get-user-result" >
<! [CDATA[
select
*
from t_user

<dynamic prepend="WHERE">
<isNotEmpty prepend="AND" property="name">
(name is like #name#)
</isNotEmpty>

<isNotEmpty prepend="AND" property="address">
(address is like #address#)
</isNotEmpty>
</dynamic>
<select>

只有在页面中传入的参数name或者address不为空时,才会触发对应的where子句

2.

利用嵌套,可以实现组合查询

<dynamic prepend="WHERE">
<isNotEmpty prepend="AND" property="name">
(name is like #name#
<isNotEmpty prepend="AND" property="address">
(address is like #address#))
</isNotEmpty>
</isNotEmpty>
</dynamic>

只有用户提供了name的值,address的判断条件才会生效
否则只输入address的值,没有name的值,address的判断条件还是无效的


判定节点属性列表

1.一元判定

一元判定是针对属性值本身的判定,如属性是否为NULL,是否为空值等。
上面示例中isNotEmpty就是典型的一元判定。

一元判定节点有:

节点名描述
<isPropertyAvailable> 参数类中是否提供了此属性
<isNotPropertyAvailable> 与<isPropertyAvailable>相反
<isNull> 属性值是否为NULL
<isNotNull> 与<isNull>相反
<isEmpty> 如果属性为Collection或者String,其size是否<1,
如果非以上两种类型,则通过
String.valueOf(属性值)
获得其String类型的值后,判断其size是否<1
<isNotEmpty> 与<isEmpty>相反。


2. 二元判定

二元判定有两个判定参数,一是属性名,而是判定值,如
<isGreaterThan prepend="AND" property="age"
compareValue="18">
(age=#age#)
</isGreaterThan>

节点名属性值与compareValues的关系
<isEqual> 相等。
<isNotEqual> 不等。
<isGreaterThan> 大于
<isGreaterEqual> 大于等于
<isLessThan> 小于
<isLessEqual> 小于等于
EtherCAT(Ethernet for Control Automation Technology)动态映射是一种通信协议,用于实现实时控制系统的高性能和高效率。它是以太网技术的一种应用,是实时以太网的一种实现方式。 动态映射是EtherCAT中的一个重要概念,它指的是数据的实时传输和映射。在EtherCAT网络中,所有的从站设备通过一个总线连接,构成一个从站拓扑结构。主站设备可以向从站设备发送数据,也可以从从站设备接收数据。 动态映射的实现是通过在从站设备上定义一个过程数据映射表(Process Data Mapping Table)来实现的。本质上,动态映射是一种把输入和输出数据与从站设备的输入输出模块进行对应的映射机制,通过这种映射机制,实现实时的数据传输和处理。 动态映射的优点是提供了高效和可配置的实时数据传输方式。它可以根据具体的控制需求对数据进行灵活的映射和配置,以满足实时控制系统对高性能、低延迟和高精度的要求。同时,动态映射还能够提高系统的可靠性和实时性,减少通信的复杂性和开销。 总结来说,EtherCAT动态映射是实现实时控制系统高性能和高效率的重要技术之一。通过动态映射,实现主站设备与从站设备之间的快速、可靠的实时数据传输和处理,提供了一种灵活可配置的数据映射机制,满足了实时控制系统对高性能、低延迟和高精度的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值