zoukankan      html  css  js  c++  java
  • 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

    比如以下例子:

    对一关联:

    对多关联:

    弯弯月亮,只为美好的自己。
  • 相关阅读:
    MVC: Connection String
    Web API: Security: Authentication and Authority
    Web API: Security: Basic Authentication
    Web API: Client: HttpClient Message Handlers
    Web API: Client: Call a Web API from a .net client
    C#: Delegate and Event
    IIS Media Service: Channel 小结
    WCF: Retry when service is in fault state.
    Windows Azure: Service Bus Relay
    i2c 过程详解(转)
  • 原文地址:https://www.cnblogs.com/Choleen/p/11427372.html
Copyright © 2011-2022 走看看