zoukankan      html  css  js  c++  java
  • 开发中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>
  • 相关阅读:
    学习进度条
    阅读《实例化需求》10-12章有感
    学习进度条
    阅读《实例化需求》7–9章有感
    学习进度条
    软件需求与分析课堂讨论一
    课程引言课后作业1
    MVC实例应用模式
    MVC模式介绍
    二十三种设计模式
  • 原文地址:https://www.cnblogs.com/duck-ifox/p/9084317.html
Copyright © 2011-2022 走看看