日系框架之Seasar2之SQL注释大坑-yellowcong

Seasar是一个轻量级的框架,用起来也挺方便的,但是在注释和除法的时候,会有一些坑,我就跳进去了,淡腾啊,注意/*变量*//* 注释*/之间,区别是 多了一个空格。还有/*变量*/doubi默认值和/*变量*/ /100的算法中,不同的地方是,多了一个空格,就变成了算法,而不是默认值了。

02171814_Ka1P.jpg

       S2Dao使用/**/或者–注解将方法(method)的参数和SQL指令的绑定变量进行关联。 因为只是追加注解,所以即使是对SQL指令设定了关联之后,使用SQL*Plus等SQL工具依然可以直接执行这些SQL指令。 先用SQL工具执行SQL指令,得到预想的结果之后再追加注解(comment)是一个好办法。

普通注释和参数

另外,如果只想对SQl指令使用具有说明性质的注解,可以在/之后输入空格,这样就变成了一般的注解。 例如,像/ hoge*/这样的写法,/*之后是一个空格,那么执行SQL指令时hoge就会被忽视掉。

在SQL注释中,有/**/注释--注释,在Seasar2框架中,解决多行注释的办法是,在/*之后是一个空格,那么执行SQL指令时hoge就会被忽视掉。/* 注释类容*/

设置固定值

在sql里面,设定默认值的方式 /*参数名*/固定值 但是我们向做除法的时候,咋办呢

--/*参数名*/固定值

SELECT
    DOUBI_TXT
FROM
    DOUBI
WHERE
    NENDO       = /*paramDto.nendo*/1
AND NAME_KBN   = /*paramDto.namekbn*/1
/*IF paramDto.kamokuNo != ""*/
AND NAME_NO   = /*paramDto.nameNo*/1
/*END*/

变量后面带参数的操作

一般情况下 /*参数名*/固定值是设定默认值的方式,但是这种做法导致的问题是有时候后面做算术操作的时候,就会不认了,所以 需要在 参数后面加一个空格/*参数名*/ *100,下面是一个例子,注意参数名称后面有个空格

--在后面加上一个空格,就变成了除法,而不是注释了
SELECT A FROM USER WHERE AGE = /*paramDto.age*/ /100

转载于:https://my.oschina.net/u/1987703/blog/1617641

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值