ibatis和mybatis的区别

   1.mybatis中的sql语句占位符采用的是#{对应实体的字段名}

  select id,username,age,sex from student where id=#{id}    

      ibatis中的sql语句占位符采用的是#对应实体的字段名#

 select id,username,age,sex from student where id=#id#

    2.mybatis中支持ognl表达式。例如<if test>使用ognl表达式来解析的     

   <select id="findById" ...>

        select id,username,age,sex from student

        <where>

            <if test="username != null and username != ''">

                username like concat('%', #{username}, '%')

            </if>

        </where>

        </select>

      ibatis中不支持ognl表达式。使用的是:        

<select id="findById" parameterClass="StudentDomain" resultMap="StudentDomain">

        select id,username,age,sex from student

        <dynamic prepend = "where">

              <isNotEmpty prepend=" and "  property ="id"> id = #id# </isNotEmpty> 

              <isNotEmpty prepend=" and "  property ="username"> username = #username# </isNotEmpty> 

              <isNotEmpty prepend=" and "  property ="sex"> sex = #sex# </isNotEmpty> 

              <isNotEmpty prepend=" and "  property ="age"> age = #age# </isNotEmpty> 

        </dynamic>

        <isNotEmpty prepend=" group by "  property ="groupBy"> $groupBy$ </isNotEmpty>

        <isNotEmpty prepend=" order by "  property ="orderBy"> $orderBy$ </isNotEmpty>

        </select>

        <update id="updateStudentByWhere"    parameterClass="StudentDomain">

        update student

        <dynamic prepend = "set">

            <isNotEmpty prepend=" and "  property ="id"> id = #id# </isNotEmpty> 

              <isNotEmpty prepend=" and "  property ="username"> username = #username# </isNotEmpty> 

              <isNotEmpty prepend=" and "  property ="sex"> sex = #sex# </isNotEmpty> 

              <isNotEmpty prepend=" and "  property ="age"> age = #age# </isNotEmpty> 

        </dynamic>

        where 

        <isEmpty prepend="" property="where"> id=#id# </isEmpty>

            <isNotEmpty prepend="" property="where"> $where$ </isNotEmpty>

        </update>

    3.mybatis中在<mapper>中编写sql语句

      ibatis中<sqlMap>

    

    

猜你喜欢

转载自blog.csdn.net/weixin_42666837/article/details/87873564
今日推荐