ibatis重点总结

一、非查询(增删改)语句

1、自动生成的键

--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.


你可能感兴趣的:(ibatis)