Mybatis常见问题记录

1. Mybatis延迟加载问题

当你要使用one to one,many to one 就会碰到N+1的问题。很明显,对象之间关联很多有A关联B,B关联C,C关联A这样的关系,如果不是采用延迟加载,很容易一下在出现成千上万对象,造成N+1的问题。
而Mybatis 设置延迟加载主要2个属性配置:

lazyLoadingEnabled:true使用延迟加载,false禁用延迟加载。默认为true
aggressiveLazyLoading:true启用时,当延迟加载开启时,将完全加载对象属性。false,当延迟加载时,按需加载对象属性。默认为true
对延迟加载都知道,按需加载对象属性

 按需加载对象属性
<configuration> 
<settings> 
<setting name="lazyLoadingEnabled" value="true"/> 
<setting name="aggressiveLazyLoading" value="false"/> 
</settings> 
</configuration>

 

2. Mybatis插入后返回主键

<insert id="add" parameterType="Category">
<selectKey resultType="java.lang.Short" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>
insert into category (name_zh, parent_id,show_order, delete_status, description)
values (#{nameZh,jdbcType=VARCHAR},#{parentId,jdbcType=SMALLINT},#{showOrder,jdbcType=SMALLINT},#{deleteStatus,jdbcType=BIT},#{description,jdbcType=VARCHAR})
</insert>

 

3. Mybatis调用存储过程

4. 待续

 

你可能感兴趣的:(存储过程,延迟加载,mybaits)