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