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

    比如以下例子:

    对一关联:

    对多关联:

    弯弯月亮,只为美好的自己。
  • 相关阅读:
    程序设计实习课(0)资源链接
    解决clion2016.3不能支持搜狗输入法的问题
    四元数运动学笔记(5)IMU驱动的运动误差方程
    四元数运动学笔记(4)旋转的雅克比矩阵
    四元数运动学笔记(3)四元数和旋转相关的约定表述
    四元数运动学笔记(2)旋转向量,旋转矩阵和四元数的关系
    单应矩阵,基本矩阵,本质矩阵
    ROS标定IDS相机
    四元数运动学笔记(1)旋转的表示
    IMU Noise Model
  • 原文地址:https://www.cnblogs.com/Choleen/p/11427372.html
Copyright © 2011-2022 走看看