初用mybatis,发现很好的一个操作数据库的框架,里面有一些小技巧,挺简单,很实用,记录一下:

mybatis的插入语句:

<insert id="insertAsset" parameterType="Criteria">
    <selectKey resultType="java.lang.String" keyProperty="condition.Id" order="BEFORE">  //设置主键 keyproperty名字随便取
        select sys_guid() from dual     //从数据库中查询uuid作为主键
    </selectKey>
        insert into asset_info
        <trim prefix="(" suffix=")" suffixOverrides=",">   //prefix前缀  suffix后缀   suffixOverrides后缀最后去除多余的
            ID,PROCESSINSTANCEID,
            <if test="condition.ASSET_NAME != null">ASSET_NAME,</if>
            <if test="condition.ASSET_SORT != null">ASSET_SORT,</if>
            <if test="condition.ASSET_MODEL != null">ASSET_MODEL,</if>
            <if test="condition.ADD_TYPE != null">ADD_TYPE,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            #{condition.Id},#{condition.processinstanceId},
            <if test="condition.ASSET_NAME != null">#{condition.assetName},</if>
            <if test="condition.ASSET_SORT != null">#{condition.assetSort},</if>
            <if test="condition.ASSET_MODEL != null">#{condition.assetModel},</if>
            <if test="condition.ADD_TYPE != null">#{condition.addType},</if>
        </trim>
    </insert>

如果插入类型是String类型,那么如下:

<select id="querySortId" resultType="ComboReturn" parameterType="String">
        select t.SORT_ID as value, t.SORT_NAME as text
                  from SMS_RD_SORT t
                  <if test="_parameter!=null">    //判断是否为空只能用_parameter作为参数
                      <where>
                         t.type_id =#{typeId,jdbcType=VARCHAR}
                      </where>
                  </if>
    </select>

mybatis配置文件xml中插入新数据的更多相关文章

  1. 通过mybatis向数据库中插入日期数据

    遇到的问题: 通过mybatis向数据库中插入日期格式数据,发现只有年月日, 没有小时分钟和秒 当你想在实体类中使用java.util.Date类型,而且还想在数据库中保存时分秒时, 解决办法: 你可 ...

  2. ado.net 向sql中插入新数据的同时获取自增重的id值

    两种方法都可以实现: 要获取的自增长列为phonebookID 方法一: sql = "insert into phonebook (mobile,peoplename) output in ...

  3. 【转载】C#中使用Insert方法往ArrayList集合指定索引位置插入新数据

    ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,在ArrayList集合操作过程中,可以使用ArrayList集合类的I ...

  4. Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解

    封面:洛小汐 作者:潘潘 做大事和做小事的难度是一样的.两者都会消耗你的时间和精力,所以如果决心做事,就要做大事,要确保你的梦想值得追求,未来的收获可以配得上你的努力. 前言 上一篇文章 <My ...

  5. mysql如果数据不存在,则插入新数据,否则更新的实现方法

    mysql如果数据不存在,则插入新数据,否则更新的实现方法 //如果不存在,则插入新数据 $sql = "INSERT INTO {$ecs->table('cat_lang')} ( ...

  6. 转载:mysql如果数据不存在,则插入新数据,否则更新的实现方法

    转自:http://www.jb51.net/article/28885.htm //如果不存在,则插入新数据 $sql = "INSERT INTO {$ecs->table(‘ca ...

  7. mysql 如果数据不存在,则插入新数据,否则更新 的实现方法

    CREATE TABLE `table_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `my_key` int(11) NOT NULL DEFAULT ...

  8. SQL语句 在一个表中插入新字段

    SQL语句 在一个表中插入新字段: alter table 表名 add 字段名 字段类型 例: alter table OpenCourses add Audio varchar(50)alter ...

  9. Java之XML操作:从XML中直接获取数据

    本文介绍如何将数据记录在XML文件中,然后通过DOM4J直接从XML中读取到数据. 依赖包: <dependency> <groupId>dom4j</groupId&g ...

随机推荐

  1. 配置hibernate

    http://blog.csdn.net/hanjiancanxue_liu/article/details/9966423

  2. 让Jayrock插上翅膀(加入输入输出参数注释,测试页面有注释,下拉框可以搜索)

    继上一篇文章介绍了Jayrock组件开发接口的具体步骤和优缺点之后,今天给大家带来的就是,如何修复这些缺点. 首先来回顾一下修复的缺点有哪些: 1.每个接口的只能写大概的注释,不能分开来写,如接口的主 ...

  3. 通过HTTP协议实现多线程下载

    1. 基本原理,每条线程从文件不同的位置开始下载,最后合并出完整的数据. 2. 使用多线程下载的好处     下载速度快.为什么呢?很好理解,以往我是一条线程在服务器上下载.也就是说,对应在服务器上, ...

  4. PS图层混合模式实例详解

          PS中的很多概念都和Core Graphics中的概念相通,比如蒙版.路径.裁剪.混合模式等等.如果你对Core Graphics中的混合模式不太理解,阅读本篇文章能让你对Core Gra ...

  5. Android实战_来电拦截专家

    1 项目演示: 2 代码演示: 1)MainActivity类代码: MainActivity类代码: package com.example.phoneinteceptor_one;import j ...

  6. std::thread

    std::shared_ptr<std::thread> m_spThread; m_spThread.reset(new std::thread(std::bind(&GameS ...

  7. JS参考书籍

    参考书籍 初级读物:<JavaScript高级程序设计>:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买. 中级读物:&l ...

  8. JS面试题及答案总结

    1. 截取字符串abcdefg的efg  <div id="test">abcdefg</div> var mytext=document.getEleme ...

  9. java本地方法如何调用其他程序函数,方法详解2

    Java调用本地方法(JNI浅谈) (2006-11-27 14:55:36) 转载▼   分类: Java类文章                本人在项目开发实践中的总结和体会     前段时间公司 ...

  10. Source Insight 基本使用(1)-使用Source Insight查看Android Framework 源码

    一.下载framework源码: google已经把framework源码托管在了gitHub上: https://github.com/android/platform_frameworks_bas ...