Mybatis常見問題記錄

1. Mybatis延遲加載問題 java

當你要使用one to one,many to one 就會碰到N+1的問題。很明顯,對象之間關聯不少有A關聯B,B關聯C,C關聯A這樣的關係,若是不是採用延遲加載,很容易一下在出現成千上萬對象,形成N+1的問題。
而Mybatis 設置延遲加載主要2個屬性配置: spa

lazyLoadingEnabled:true使用延遲加載,false禁用延遲加載。默認爲true
aggressiveLazyLoading:true啓用時,當延遲加載開啓時,將徹底加載對象屬性。false,當延遲加載時,按需加載對象屬性。默認爲true
對延遲加載都知道,按需加載對象屬性 code

 按需加載對象屬性
<configuration> 
<settings> 
<setting name="lazyLoadingEnabled" value="true"/> 
<setting name="aggressiveLazyLoading" value="false"/> 
</settings> 
</configuration>

 

2. Mybatis插入後返回主鍵 xml

<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. 待續 ip

相關文章
相關標籤/搜索