ibatis

<insert id="insertJvmInfo" parameterClass="JvmInfo"> 
<![CDATA[INSERT INTO jvm_info(
serverId,createTime,collectionCount,usedHeap,freeHeap,deadlockThreadIds)
VALUES(#serverId#,#createTime#,#collectionCount#,#usedHeap#,#freeHeap#,#deadlockThreadIds#)]]>   
<selectKey resultClass="java.lang.Long" keyProperty="id"> 
<![CDATA[SELECT LAST_INSERT_ID() AS ID ]]> <!-- 该方法LAST_INSERT_ID()与数据库连接绑定,不会发生上述MS SQL Server的函数问题。 --> 
</selectKey> 
</insert>

这样写可以在出入数据库后把对象id赋值.
<selectKey resultClass="java.lang.Long" keyProperty="id"> 
<![CDATA[SELECT LAST_INSERT_ID() AS ID ]]> <!-- 该方法LAST_INSERT_ID()与数据库连接绑定,不会发生上述MS SQL Server的函数问题。 --> 
</selectKey> 


主键生成
Cloudscape  VALUES IDENTITY_VAL_LOCAL()
DB2         VALUES IDENTITY_VAL_LOCAL()
Derby       VALUES IDENTITY_VAL_LOCAL()
HSQLDB      CALL IDENTITY()
MySql       SELECT LAST_INSERT_ID()
SqlServer   SELECT SCOPE_IDENTITY()
SYBASE      SELECT @@IDENTITY
ORACLE      SELECT CUSTOM_SQL.NEXTVAL AS ID FROM DUAL


iBATIS sql中的大于、小于、like等符号写法

其实就是xml的特殊符号,因为它的配置就是xml,所以可以用下面这种写法转义
&lt;
<
&gt;

&lt;&gt;
<>
&amp;
&
&apos;
'
&quot;
"



也可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析
    <![CDATA[ 这里写你的sql ]]> 



like的写法可以用下面的这种
    LIKE #param#||'%'  或 '$param$%'


你可能感兴趣的:(oracle,sql,ibatis,SQL Server,Sybase)