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>
mybatis配置文件xml中插入新数据的更多相关文章
- 通过mybatis向数据库中插入日期数据
遇到的问题: 通过mybatis向数据库中插入日期格式数据,发现只有年月日, 没有小时分钟和秒 当你想在实体类中使用java.util.Date类型,而且还想在数据库中保存时分秒时, 解决办法: 你可 ...
- ado.net 向sql中插入新数据的同时获取自增重的id值
两种方法都可以实现: 要获取的自增长列为phonebookID 方法一: sql = "insert into phonebook (mobile,peoplename) output in ...
- 【转载】C#中使用Insert方法往ArrayList集合指定索引位置插入新数据
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,在ArrayList集合操作过程中,可以使用ArrayList集合类的I ...
- Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解
封面:洛小汐 作者:潘潘 做大事和做小事的难度是一样的.两者都会消耗你的时间和精力,所以如果决心做事,就要做大事,要确保你的梦想值得追求,未来的收获可以配得上你的努力. 前言 上一篇文章 <My ...
- mysql如果数据不存在,则插入新数据,否则更新的实现方法
mysql如果数据不存在,则插入新数据,否则更新的实现方法 //如果不存在,则插入新数据 $sql = "INSERT INTO {$ecs->table('cat_lang')} ( ...
- 转载:mysql如果数据不存在,则插入新数据,否则更新的实现方法
转自:http://www.jb51.net/article/28885.htm //如果不存在,则插入新数据 $sql = "INSERT INTO {$ecs->table(‘ca ...
- mysql 如果数据不存在,则插入新数据,否则更新 的实现方法
CREATE TABLE `table_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `my_key` int(11) NOT NULL DEFAULT ...
- SQL语句 在一个表中插入新字段
SQL语句 在一个表中插入新字段: alter table 表名 add 字段名 字段类型 例: alter table OpenCourses add Audio varchar(50)alter ...
- Java之XML操作:从XML中直接获取数据
本文介绍如何将数据记录在XML文件中,然后通过DOM4J直接从XML中读取到数据. 依赖包: <dependency> <groupId>dom4j</groupId&g ...
随机推荐
- 旅行(Dijkstra)问题
问题:输入: 输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个: 接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车 ...
- BZOJ2463 谁能赢呢?
Description 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的 ...
- BZOJ2654 tree
Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...
- Windows Server 2008系统如何取消登录时要按Ctrl+Alt+Delete组合键
1.点桌面任务栏的“开始-->运行”在弹出的窗口中输入gpedit.msc . 2.输入gpedit.msc后,点击确定即打开了组策略编辑器.在组策略编辑器的左框内依次序展开(点前面的“+”号) ...
- ETHREAD APC 《寒江独钓》内核学习笔记(4)
继续学习windows 中和线程有关系的数据结构: ETHREAD.KTHREAD.TEB 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 2. 数据结构分析 我们 ...
- Knockout Grid - Loading Remote Data
http://wijmo.com/grid-with-knockout-viewmodel-loading-remote-data/ We were hearing quite a few peopl ...
- Java初学(五)
一.成员变量和局部变量区别(成员变量默认为包内访问权限,即使是子类,不在一个包内也无法访问) 1.在类中的位置不同 成员变量:在类中方法外: 局部变量:在方法定义中或者方法声明上 2.在内存中的位置不 ...
- Ten Tips for Writing CS Papers, Part 2
Ten Tips for Writing CS Papers, Part 2 This continues the first part on tips to write computer scien ...
- 检测端口状态的python脚本
#!/usr/bin/env python import os,subprocess,socket,time,sys from urllib import urlencode from socket ...
- Linux下安装php screw
1.下载地址:http://sourceforge.net/projects/php-screw/ 2. tar zxvf php_screw_1.5.tar.gz cd php_screw_1.5 ...