mybatis在oracle中的一点小结

来源:互联网 发布:淘宝变色玻璃杯 编辑:程序博客网 时间:2024/06/03 23:34

1、分页                     //oracle中数据计数从1开始,mysql中从0开始计数

    select * from (   select a.*,ROWNUM RN from      (       select * from dual     ) a   where ROWNUM<![CDATA[<=]]>#{end})  where RN<![CDATA[>=]]#{start}



2、批量插入

<insert id="add" paramterType="java.util.List">insert into table(id)select A.* from(<foreach collection="list" item="obj" separetor="union all">    //union  结果集不允许重复,union all允许重复  select #{obj.id} from dual </foreach>) A</insert>




3、使用关键字做列名,使用小写字母做列名 ——使用“”
select "LEVEL" as "level" from dual



4、当前时间

//获取当前时间,并以 年-月-日 时:分:秒   格式显示    HH12位12小时制select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual//吧date的值设为当前时间set date=sysdate//获取当前时间,并以 年-月-日 时:分:秒   格式显示    HH12位12小时制 'YYYY-MM-DD HH24:MI:SS'//24小时制



5、插入值同时返回主键             主键为数据库自动生成的guid

<insert id="add" parameterType="map">//主键放到id中<selectKey resultTyp="String" keyProperty="id" order="BEFORE">//使用oracle数据库自动增长主键guidselect sys_guid() as id from dual</selectKey>insert into table(id,...)values(#{id},jdbcType=VARCHAR,...)//获取id中的值</insert>        <select id="getGuid" resultTypr="String">               select sys_guid() from dual                      //从oracle中获取guid返回到java中        </select>