ibatis相关知识

Mapped statement
 
iBATIS SQL Maps 的核心概念就是 Mapped statement!Mapped Statement 可以使用任意的 SQL 语句,利用 POJO、原始变量及其 Wrapper Class 作为输入(parameter class)和输出(result class)。
 
Mapped Statement 包含以下几种类型:
 
insert 对应数据库的 insert 操作,该操作返回本次操作插入记录的主键值。
 
select 对应数据库的 select 操作,该操作返回特定的 POJO 或 对象。
 
update 对应数据库的 update 操作,该操作返回被更新的记录个数。
 
delete 对应数据库的 delete 操作,该操作返回被删除的记录个数。
 
procedure 对应数据库存储过程。
 
statement 类型最为通用,可以代替以上所有的类型。但由于缺乏操作直观性故不推荐。
存储过程,ibatis中的调用(含返回值)
 <parameterMap class="java.util.HashMap" id="initTaskParam">
   <parameter property="playerid" jdbcType="BIGINT" javaType="java.lang.Long" mode="IN"/>
   <parameter property="playerIdLimit" jdbcType="BIGINT" javaType="java.lang.Long" mode="IN"/>
   <parameter property="tableName" jdbcType="VARCHAR"  mode="IN"/>
   <parameter property="result" jdbcType="TINYINT" javaType="java.lang.Byte" mode="OUT"/>
  </parameterMap>
  <procedure id="callInitTaskProcedure" parameterMap="initTaskParam" >
   {call init_task(?,?,?,?)}
  </procedure>
 

1.MyBatis 还有另外一种方式为不支持自动生成主键的数据库及 JDBC 驱动来生成键值。
下面展示一个能够随机生成ID 的例子(也许您不会这么做,这仅仅是演示 MyBatis 的功
能):
<insert id="insertAuthor" parameterType="domain.blog.Author">
<selectKey keyProperty="id" resultType="int" order="BEFORE">
select CAST(RANDOM()*1000000 as INTEGER) a from SYSIBM.SYSDUMMY1
</selectKey>
insert into Author
(id, username, password, email,bio, favourite_section)
values
(#{id}, #{username}, #{password}, #{email}, #{bio},
#{favouriteSection,jdbcType=VARCHAR}
)
</insert>

猜你喜欢

转载自lf6627926.iteye.com/blog/1661603