zoukankan      html  css  js  c++  java
  • mybatis学习(三)

    1.mybatis是一个ORM持久层框架的佼佼者,真正上实现了SQL语句与java代码分离。优秀的功能,动态分离,缓存,插件-pageHelper等

    2.SQL语句使用in的时候,可以用数组封装in中的值。

    3.批量操作数据的情况,可以把操作的数据封装在数组中

    4.mybaits的入参处理:1.传递单个参数的形式(mybaits会自动进行参数的赋值) 2.传递多参数的时候(mybatis会自动封装在Map集合中)

    3.Collection,List,Array作为参数,封装为Map,有一定规则的。

    5.多参数传值的时候 #{名称}的名称是有规范的为[arg0,arg1,parm1,parm2] ,如果用#{username} and #{userpass} 会报错,用#{arg0} and #{arg1} 就不会报错。

    可以用javabean处理:

    代码如下:

    public Person getPersonByNameAndGender(Person person)

    可以用Map传递多参数:

    代码如下:

    public Person getPersonByNameAndGender(Map<String,Object> param);

    利用注解@parm:

    代码如下:

    public Person getPersonByNameAndGender(@Param("username") String username,@Param("gender") String gender)

    collection集合处理参数:

    也可以用别名来代替key值:

      public Person getPersonByCollection(@Param("test") int[] ids);

    动态遍历foreach;

    利用<trim>标签

     <trim prefix="(" suffix=")" suffixOverrides="," >
          <if test="id != null" >
            ID,
          </if>
          <if test="regType != null" >
            regType,
          </if>
          <if test="lastLandIp != null" >
            lastLandIp,
          </if>
          <if test="pwd != null" >
            PWD,
          </if>
          <if test="userName != null" >
            USERNAME,
          </if>
          <if test="email != null" >
            EMAIL,
          </if>
          <if test="isActivation != null" >
            ISACTIVATION,
          </if>
          <if test="emailActiveDate != null" >
            EMAILACTIVEDATE,
          </if>
          <if test="mobilePhone != null" >
            MOBILEPHONE,
          </if>
          <if test="isBindPhone != null" >
            ISBINDPHONE,
          </if>
          <if test="bindPhoneDate != null" >
            BINDPHONEDATE,
          </if>
          <if test="nickName != null" >
            NICKNAME,
          </if>
          <if test="male != null" >
            MALE,
          </if>
          <if test="birth != null" >
            BIRTH,
          </if>
          <if test="identityCode != null" >
            IDENTITYCODE,
          </if>
          <if test="identityType != null" >
            IDENTITYTYPE,
          </if>
          <if test="province != null" >
            PROVINCE,
          </if>
          <if test="city != null" >
            CITY,
          </if>
          <if test="address != null" >
            ADDRESS,
          </if>
          <if test="postCode != null" >
            POSTCODE,
          </if>
          <if test="homePhone != null" >
            HOMEPHONE,
          </if>
          <if test="regTime != null" >
            REGTIME,
          </if>
          <if test="lastLandTime != null" >
            LASTLANDTIME,
          </if>
          <if test="tempLastTime != null" >
            TEMPLASTTIME,
          </if>
          <if test="status != null" >
            STATUS,
          </if>
          <if test="payPwd != null" >
            PAYPWD,
          </if>
            ZM_SITEID,
          <if test="addDate != null" >
            ADDDATE,
          </if>
          <if test="realName != null" >
            REALNAME,
          </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
          <if test="id != null" >
            #{id,jdbcType=DECIMAL},
          </if>
          <if test="regType != null" >
            #{regType,jdbcType=DECIMAL},
          </if>
          <if test="lastLandIp != null" >
            #{lastLandIp,jdbcType=VARCHAR},
          </if>
          <if test="pwd != null" >
            #{pwd,jdbcType=VARCHAR},
          </if>
          <if test="userName != null" >
            #{userName,jdbcType=VARCHAR},
          </if>
          <if test="email != null" >
            #{email,jdbcType=VARCHAR},
          </if>
          <if test="isActivation != null" >
            #{isActivation,jdbcType=DECIMAL},
          </if>
          <if test="emailActiveDate != null" >
            #{emailActiveDate,jdbcType=TIMESTAMP},
          </if>
          <if test="mobilePhone != null" >
            #{mobilePhone,jdbcType=VARCHAR},
          </if>
          <if test="isBindPhone != null" >
            #{isBindPhone,jdbcType=DECIMAL},
          </if>
          <if test="bindPhoneDate != null" >
            #{bindPhoneDate,jdbcType=TIMESTAMP},
          </if>
          <if test="nickName != null" >
            #{nickName,jdbcType=VARCHAR},
          </if>
          <if test="male != null" >
            #{male,jdbcType=DECIMAL},
          </if>
          <if test="birth != null" >
            #{birth,jdbcType=TIMESTAMP},
          </if>
          <if test="identityCode != null" >
            #{identityCode,jdbcType=VARCHAR},
          </if>
          <if test="identityType != null" >
            #{identityType,jdbcType=DECIMAL},
          </if>
          <if test="province != null" >
            #{province,jdbcType=VARCHAR},
          </if>
          <if test="city != null" >
            #{city,jdbcType=VARCHAR},
          </if>
          <if test="address != null" >
            #{address,jdbcType=VARCHAR},
          </if>
          <if test="postCode != null" >
            #{postCode,jdbcType=VARCHAR},
          </if>
          <if test="homePhone != null" >
            #{homePhone,jdbcType=VARCHAR},
          </if>
          <if test="regTime != null" >
            #{regTime,jdbcType=TIMESTAMP},
          </if>
          <if test="lastLandTime != null" >
            #{lastLandTime,jdbcType=TIMESTAMP},
          </if>
          <if test="tempLastTime != null" >
            #{tempLastTime,jdbcType=TIMESTAMP},
          </if>
          <if test="status != null" >
            #{status,jdbcType=DECIMAL},
          </if>
          <if test="payPwd != null" >
            #{payPwd,jdbcType=VARCHAR},
          </if>
           1,
          <if test="addDate != null" >
            #{addDate,jdbcType=TIMESTAMP},
          </if>
          <if test="realName != null" >
            #{realName,jdbcType=VARCHAR},
          </if>
        </trim>
  • 相关阅读:
    Java实现 计蒜客 拯救行动
    Java实现 计蒜客 拯救行动
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 173 二叉搜索树迭代器
    Java实现 LeetCode 173 二叉搜索树迭代器
    Visual Studio的SDK配置
    怎样使用CMenu类
    mfc menu用法一
  • 原文地址:https://www.cnblogs.com/socketqiang/p/10838498.html
Copyright © 2011-2022 走看看