主题:MyBaits中Insert至动态表名及foreach使用
时间: 2020-08-27来源:ITEYE
前景提要
相关推荐: Extjs3综合应用(待续v4...初版) Mybatis3.0查询,保存,更新,删除数据。 summercool-ddl框架简介 (二) MyBaits中Insert至动态表名及foreach使用 在ibatis中使用oracle insert all 函数 MyBatis动态sql_foreach下foreach批量插入两种方式 mybatis中foreach的用法(转)
推荐群组: struts2
更多相关推荐
iBATIS
 
下面是一个简单的使用动态表名和 foreach 使用的简单配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="mm.import"> <insert id="insertData" parameterType="hashmap"> insert into nwh.tt_${suffix}(a,b) values <!--map list ---> <foreach collection="list" separator="," index="index" item="obj"> (#{obj[order]},#{obj[name]}) </foreach> </insert> </mapper> ${suffix}  "${}" 只做简单的替换 #{ obj [order]}"#{}"会做处理
 
 

对应的数据结构如下面代码表示:



List<Map<String,String>> list = new ArrayList<Map<String,String>>(); Map<String,String> map= new HashMap<String,String>(); map.put("order", "123"); map.put("name", "miyong"); Map<String,String> map2= new HashMap<String,String>(); map2.put("order", "1234"); map2.put("name", "miyong"); list.add(map); list.add(map2); Map<String,Object> param = new HashMap<String, Object>(); param.put("suffix", "20110710"); param.put("list", list);  
 
对应的表结构:
CREATE TABLE NWH.TT_20110710 (A INTEGER, B VARCHAR(20) )  
 
对应生成的 SQL 类似:
insert into nwh.tt_20110710(a,b) values (?,?) , (?,?)  
 

注意: Map<String,String> map ,而物理表中一个 Ingeger 字段,一个 VARCHAR 字段, MyBatis 会自己做类型映射
 

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行