• 开发中mybatis的一些常见问题记录


    一、oracle数据库通过mybatis的批量插入的两种方式

    方式1

    insert into table_tmp (id,v1,v2,v3,v4)
    		SELECT A.*,OSM_VIID_DEVICE_UTSID.nextval FROM(
    		<foreach item="item" index="index" collection="list" separator="union all">
                 SELECT
              #{item.id},#{item.v1},#{item.v2},#{item.v3},#{item.v4}
         FROM DUAL </foreach> ) A

    其中item为批量插入的list中的实体对象,id,v1,v2...是对象中的属性。如果允许空值的情况,不要忘记把格式写成这样#{item.v1,jdbcType=VARCAHR},

    方式二

    insert all 
             <foreach item="item" index="index" collection="list" separator="">
                  into table_tmp  (id,v1,v2,v3)
                 values
                (#{item.id},#{item.v1},#{item.v2},#{item.v3})
             </foreach>
             select 1 from dual

    跟方式一一样,都需要注意空值的情况。

    二、mybatis的if的字符串的等值判断写法

    在检索的时候,经常会用到mybatis的if判断,有时候一个字段通过多个枚举,代表多种含义,例如字符串1,代表查询情况1,字符串2,代表情况2

    如果写成这样:

    <if test="option != '' and option== '1'"></if>

    那上面判断不会成功,正确的写法应该是:

    <if test="option != '' and option== '1'.toString()"></if>
  • 相关阅读:
    python2的比较函数,cmp
    快速排序
    如果a,b,c为自然数,a+b+c=1000,a方+b方=c方,求出abc可能的组合(python实现)
    python之join
    python之functools partial
    Python 3 iter函数用法简述
    python线程之condition
    python 线程 event
    getattr getattribute setattr hasattr delattr
    Properties类
  • 原文地址:https://www.cnblogs.com/duck-ifox/p/9084317.html
Copyright © 2020-2023  润新知