首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

用ibatis和oracle做小例子时遇到的小疑点

2013-08-09 
用ibatis和oracle做小例子时遇到的小问题今天在上网看了有关于oracle的视频教程之后,便自己也动手做了一遍

用ibatis和oracle做小例子时遇到的小问题
    今天在上网看了有关于oracle的视频教程之后,便自己也动手做了一遍。
    ibatis是ORM框架的一种,相对于hibernate的自动化,ibatis是半自动化。因为ibatis中的sql语句需要自己写。
    ibatis框架的运用需要几步:1.导入相关jar包 2.配置文件 3.解析配置文件 4.CRUD操作。其中配置文件可以分成三种:JDBC的属性文件(如驱动和url,用户名和密码等),总配置文件(其中需要包含属性文件,还有事物,还有数据源,还有map文件),map文件(都是一些sql语句,这样一来把sql语句和程序代码分离了开来,利于维护和移植)。
    我在做这个例子的过程中却是遇到一些小问题:
          1.实例类中需要无参构造函数,因为反射机制的Class.forname().newInstance。
          2.因为是oracle,所以我在map文件中的插入sql语句中就用了<selectKey>,用来设置主键
       <insert id="addStudent" parameterresultClass="int">
  select studentPKsequence.nextval  from dual
        </selectKey>
<!-- 在##之间的属性名字要正确,因为Student类中的get方法 -->
        insert into student(sid,sname,birth,score) values(#sid#,#sname#,#birth#,#score#)
      </insert>
在oracle中首先是create sequence studnentPKsequence start with 1 increment by 1;建立了序列,这样一来,studnetPKsequence.nextval查到的就赋值给sid作为主键,然后插入数据。但是要注意的是如果你表中已经有几条记录了,那么不要和studnetPKsequence.nextval查到的值冲突,否则报错。
          3.写完sql语句,不要在末尾加上分号,否则无效的字符报错。

热点排行