• mybatis重新回顾


    此次在项目中相遇了mybatis,重新回顾下。

    1.resulMap解决了结果集的列名字跟实体setter和getter不匹配的问题

    其中property是实体的setter和getter对象,column是表中的列字段

    2.mybatis的动态sql语句,自豪的技术,主要是拼装sql语句

      1)if

      2)choose(when,otherwise)

      3)trim(where ,set)

      4)foreach

    这就是mybatis中主要的动态sql表达标签,

      a.if标签中test是判断条件,其他和if没有什么改变。

    <if test =" name != null">

      and userName = #{name}

    </if>

       b.choose when otherwise 和switch case相像,很多情况下选择一种,若没有就是otherwise中的语句

      c.where标签,if条件第一个不成立,第二个成立,where and address = #{address},如果mybatis检测到where后and,则去掉and关键字,如果if条件都不成立,where关键字也会去掉。比如

      d.set标签,第一个条件成立,第二个条件不成立,会自动去掉第一个条件后面的都号;若两个条件都没有成立,set不会出现,但会报异常,sql异常,至少有一个条件成立。比如:

      e.trim标签,trim标签替换wher标签,prefix前缀 where,prefix="where";prefixOverrides="AND | OR",prefixOverrides:前缀覆盖,第一个if条件不成立,第二个if条件成立,会prefixOverrides中的值去覆盖,都不成立where前缀会去掉,比如;

      

      f.trim标签,替换set。prefix="SET" 前缀为set,suffixOverrides="," 后缀为都好。第一个条件成立,第二个条件不成立,后去掉后面的逗号,至少有一个if要成立,不然报sql语法异常。比如:

      h.foreach标签,就是循环,比如:

    3.mybatis的关联映射

      1)对一关联:association

      2)对多关联:collection

    比如以下例子:

    对一关联:

    对多关联:

    弯弯月亮,只为美好的自己。
  • 相关阅读:
    Another option to bootup evidence files
    切莫低估了使用者捍卫个人隐私的强烈意志
    如何验证证书绑定?
    How to verify Certificate Pinning?
    iDevice取证的一大突破
    Do you know how many stuff inside your Google Account?
    Use LiveCD to acquire images from a VM
    完成评论功能
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局。
  • 原文地址:https://www.cnblogs.com/Choleen/p/11427372.html
Copyright © 2020-2023  润新知