ibatis重点总结

一、非查询(增删改)语句
1、自动生成的键
【ibatis重点总结】
--oracle&postgresql

SELECT nextVal('account_accountid_seq') INSERT INTO Account( accountId, username, password )VALUES( #accountId#, #username#, #password# )




--Microsoft sql server

INSERT INTO Account( username, password )VALUES( #username#, #password# ) SELECT SCOPE_IDENTITY()


2、调用存储过程
IN、OUT、INOUT参数
in--传参数
inout--传递给存储过程并且可以被修改的参数
out---它们和返回结果(例如resultMap结果)很相似,但是又可以像参数那样被传递给存储过程。被传递给存储过程的值将被忽略,然后被程序所返回的值所替代。

create or replace procedure maximum (a in integer, b in integer, c out integer) as begin if(a > b) then c:=a; end if; if(b>=a) then c:=b; end if; end;

xml里面进行调用:

{ call maximum (?,?,?) }



// call maximum function
Map m = new HahsMap(2);
m.put("a", new Integer(7));
m.put("b", new Integer(5));
sqlMap.queryForObject("Account.maxOutProcedure", m);
// m.get("c") should be 7 now.



    推荐阅读