mybatis配置文件xml中插入新数据

初用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>

时间: 2024-10-10 12:24:23

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

MyBatis在Oracle中插入数据并返回主键的问题解决

引言:  在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle, Spring 3.2   SQL Snippet in XML Configuration: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="

mysql中插入中文数据

今天遇到的问题使mysql中插入中文数据后显示乱码,我在mysql中插入中文的时候,可以插入可是select的时候却无法显示,为此我写下这篇博客用于解决mysql插入中文. 由于有些截图没有记录下来,但是为了说明问题,我借用了别人的图,主要是为了完整的描述问题,在没有任何修改的时候,我们可以在mysql命令行中敲入以下指令,其结果如下所示: show variables like 'character%'; 可以看到,以上的编码并不支持中文,所以我们需要改变他们的编码(我这里是改成了utf8格式

链表《3》在链表中插入新的结点

下图是一个创建好的链表 下面我们需要在链表中插入一个结点,例如我们需要在第3个结点后插入一个结点 首先定义一个指针p,并且将p移动到第3个结点处 创建一个新结点pNew并且初始化pNew pNew->data = 20 然后定义一个指针q将q指向p第4个结点 最后将p指向pNew,pNew指向q即可实现在链表中第3个结点后插入一个新结点 即: p->pNext = pNew; pNew->pNext = q; 插入后的效果: 程序代码: #include <stdio.h>

SQL INSERT INTO 语句:向表中插入新记录语法及案例剖析

SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新记录. SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新记录. SQL INSERT INTO 语法 INSERT INTO 语句可以有两种编写形式. 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可: INSERT INTO table_name VALUES (value1,value2,value3,...); 第二种形式需要指定列名及被插入的值: INSERT I

在一组降序排列的数组中插入一个数据,插入后,数组中数据依然按降序排列

分析: 1.数组固定,是一个倒序的数组 2.插入一个数据,这个数据插在哪呢,要比较,与数组中所有的元素比较,这里需要一个循环,因为是降序的数组,所以当第一次遇到比自己小的,那么这个位置就是要插入的位置 3.因为上一步被占了位置,那么从这个插入的数据开始,后面的原本的数据都得向右移一位 /** * */ package com.cn.u4; import java.util.Scanner; /** * @author Administrator *向有序数组中插入学员成绩 * 在一组降序排列的数

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

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

使用PDF编辑器怎么在PDF文件中插入新页面

当我们初次接触PDF文件的时候,一直觉得PDF文件是非常难编辑的,这也是因为当初没有找到一款专业的PDF编辑器,现在有了这样的软件之后再去编辑PDF文件就非常简单了,下面编者就来为大家讲解一下怎么使用pdf编辑器在pdf文件中插入页面! 1.打开电脑,在浏览中输入"迅捷PDF编辑器",找到该软件并将其下载安装到电脑. 2.运行该软件,点击"打开"按钮,将要插入空白页的PDF文件打开添加到迅捷PDF编辑器的操作页面. 3.在软件界面左侧的缩略图界面,选中要在其后面插入

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

本文介绍如何将数据记录在XML文件中,然后通过DOM4J直接从XML中读取到数据. 依赖包: <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> 工具类代码: 1 package testTraffic.utils; 2 3 import org.d

如何使用myBatis在数据库中插入数据并返回主键

在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo