MyBatismybatis使用注意的细节

1.mybatis对准sql执行后会面对结果举办打包,假如无再次回到外笔录,只是封装后的对象没价值,而目的并无为空null;

3.数组数据的绑定问题

 

对应的Mapper.xml

 

貌似我们如故准这样的不二法门来写的,对于任何门类是不曾错的,不过只要也String的话会抛下边的雅:

 

<if test='_parameter == "1" '>
    type=#{_parameter}
</if>

 

 

正确:

 

There is no getter for property named 'type ' in 'class java.lang.String' 

要污染进的是一个pojo对象,对象被起一个数组属性ids,那么collection传上的参数就无法不是性质变量ids。

4. 参数为String时之多寡绑定问题

错误:

 <select id="findSelectedItemsList" parameterType="Integer[]" resultType="ItemsCustom">
        select * from item
        <where>
        <!-- 传递数组 -->
        <if test="array!=null">
        <foreach collection="array" index="index" item="item" open="and id in(" separator="," close=")">
            #{item} 
        </foreach>
        </if>
        </where>
    </select>    

为MyBatis要求而参数为String的言语,不管接口方法的形参是啊,在Mapper.xml中援引时得改也_parameter才可以认识别
:

<select id="findByAccountType " parameterType="string" resultType="account">
    select *
    form account
    <where>
        <if test ="type != null">
            type=#{type}
        </if>
    </where>
</select>

 

<select id="findByAccountType " parameterType="string" resultType="account">
    select *
    form account
    <where>
        <if test ="_parameter!= null">
            type=#{_parameter}
        </if>
    </where>
</select>

以此间传上的的参数是一个整型数组,collection中之参数就是”array”,不可知为其余价值

 

2.mapper的xml文件中,if<test=”ids.length!=0
 and ids!=null “> 这里的与运算是故的and

5.**对字符串参数举行是否相等
比较常之问题**

(这些题目疏忽坑了个别软,在针对回数组结果开展判定的时光,我于是之if(Array!=null)
结果是判对,应该if(Array.length!=0)做判定记录是否为空)

<if test="_parameter == '1' ">
    type=#{_parameter}
</if>

 

public Account findByAccountType (String type)throws DaoException;

借设有下边一Dao接口措施

 

<insert id="createRelation" parameterType="com.xidian.ssm.po.Relation">
   <if test="ids.length!=0 and ids!=null">
        <foreach close="" collection="ids" index="index" item="ref_id" open="" separator=";">
             insert into relation (id,ref_id) value(#{id,jdbcType=INTEGER},#{ref_id,jdbcType=INTEGER}) 
        </foreach>
    </if>
</insert>
网站地图xml地图