2.在mybatis调用存储过程时,传入参数的名字能够不用跟存储过程定义的参数名一致
java
4.parameterMap(经常使用于存储过程)和resultMap相似,表示将查询结果集中列值的类型一一映射到java对象属性的类型上,在开发过程当中不 推荐这种方式。数据库
parameterType="java.util.Map" statementType="CALLABLE"
resultType="java.util.HashMap 复制代码
7.数据库为Date,java类型也为Date,mybatis中的jdbcType=TIMESTAMP 时间入库后才精确到秒
bash
9.新增记录返回id
mybatis
<!--新增用户关联帐户信息-->
<insert id="saveLinkUserAccInfo" parameterType="linkUserAccInfo">
<selectKey keyProperty="linkNo" resultType="String" order="BEFORE">
select sys_guid() from dual
</selectKey>
INSERT INTO LINK_USER_ACC_INFO (LINK_NO, USER_NO) VALUES
(#{linkNo, jdbcType=VARCHAR},#{userNo, jdbcType=VARCHAR)
</insert> 复制代码
SELECT
<include refid="accChkResultColumns"/>
FROM acc_chk_result a
<include refid="accChkResultJoins"/>
<where>
<if test="beginTradeDay != null and endTradeDay != null and beginTradeDay != '' and endTradeDay != ''">
AND a.work_day BETWEEN to_char(#{beginTradeDay},'yyyymmdd') AND to_char(#{endTradeDay},'yyyymmdd')
</if>
</where>
复制代码
12.对oracle,使用MyBatis框架作更新操做时,若是不指定jdbcType,在该字段须要更新的内容为空时,就会出现1111错误,也就是无效的列类型,这个时候你就要使用jdbcType
oracle
14.参数为集合的查询app
select*from kj_region a where pregionid in
<foreach item="item" index="index" collection="list" open="("separator="," close=")">
#{item}
</foreach>复制代码
16.插入集合框架
<insert id="addRItem" parameterType="java.util.List">
insert into lzf_rental_item_detailsl ( id, rentalInfoId,itemName, number, remark ) values
<foreach collection="list" item="item" index= "index" separator =",">
( #{item.id}, #{item.rentalInfoId}, #{item.itemName}, #{item.number}, #{item.remark} )
</foreach>
</insert>复制代码