下以数据如何用MYBATIS 实现插入操作

u010646265 2017-07-09 11:48:44
[{"id":null,"code":"01","name1":null,"name2":"XXX有限公司","name3":null},{"id":null,"code":"01","name1":null,"name2":"XXX有限公司","name3":null}]

取出上面的code 与name2 插入到
表: deptid deptnum deptname deptcode deleted
code 对应deptnum name2 对应deptname


...全文
391 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
什么都不能 2017-07-10
  • 打赏
  • 举报
回复
引用 7 楼 u010646265 的回复:
我用的是sql server 的数据库,
网上的一个例子 <insert id="batchSaves" parameterType="com.*******.DeptParam"> WITH R AS <foreach collection="list" item="item" index="index" open="(" close=")" separator="union all"> SELECT #{item.deptnum} as deptnum, #{item.deptname} as deptname, </foreach> INSERT INTO 你的数据表(deptnum,deptname) SELECT deptnum, deptname FROM R </insert> 写个dao的接口
u010646265 2017-07-10
  • 打赏
  • 举报
回复
看了下,明白了很多,谢谢,受教了
u010646265 2017-07-10
  • 打赏
  • 举报
回复
我用的是sql server 的数据库,
什么都不能 2017-07-10
  • 打赏
  • 举报
回复

import java.io.Serializable;

public class DeptParam implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	String id;
	String code;
	String name1;
	String name2;
	String name3;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getName1() {
		return name1;
	}
	public void setName1(String name1) {
		this.name1 = name1;
	}
	public String getName2() {
		return name2;
	}
	public void setName2(String name2) {
		this.name2 = name2;
	}
	public String getName3() {
		return name3;
	}
	public void setName3(String name3) {
		this.name3 = name3;
	}
	
	@Override
	public String toString() {
		return "DeptParam [id=" + id + ", code=" + code + ", name1=" + name1
				+ ", name2=" + name2 + ", name3=" + name3 + "]";
	}
}

String jsonStr = "[{\"id\":null,\"code\":\"01\",\"name1\":null,\"name2\":\"XXX有限公司\",\"name3\":null},{\"id\":null,\"code\":\"01\",\"name1\":null,\"name2\":\"XXX有限公司\",\"name3\":null}]"; 
		Gson gson = new Gson();
		DeptParam[] obj = gson.fromJson(jsonStr, DeptParam[].class);
数据库你用的是哪种?
大势下的牛马 2017-07-10
  • 打赏
  • 举报
回复
再添加一个批量插入mabatis的demo: http://www.cnblogs.com/liaojie970/p/5577018.html
大势下的牛马 2017-07-10
  • 打赏
  • 举报
回复
json 转对象bean 下面是demo希望对你有用 我的blog: http://blogxinxiucan.sh1.newtouch.com/

package com.ule.web.test;

import java.util.List;

import com.alibaba.fastjson.JSONArray;

public class JsonTest {

	public static void main(String[] args) {
		String json = "[{\"id\":null,\"code\":\"01\",\"name1\":null,\"name2\":\"XXX有限公司\",\"name3\":null},{\"id\":null,\"code\":\"01\",\"name1\":null,\"name2\":\"XXX有限公司\",\"name3\":null}]";
		List<DemoBean> list = JSONArray.parseArray(json, DemoBean.class);
		for (DemoBean bean : list) {
			System.out.println(bean.getCode()+","+bean.getName2());
		}

	}

}

class DemoBean {
	Integer id;
	String code;
	String name1;
	String name2;
	String name3;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getName1() {
		return name1;
	}

	public void setName1(String name1) {
		this.name1 = name1;
	}

	public String getName2() {
		return name2;
	}

	public void setName2(String name2) {
		this.name2 = name2;
	}

	public String getName3() {
		return name3;
	}

	public void setName3(String name3) {
		this.name3 = name3;
	}

}


u010646265 2017-07-10
  • 打赏
  • 举报
回复
能说细一点的吗,首先我取出来 code name2 放到list 中,再把数据转到另一个List中的deptnum deptname ,有没有比较直接的例子发个我参考下
什么都不能 2017-07-10
  • 打赏
  • 举报
回复
用Gson先转对象,然后用mybatis foreach标签批量插入数据库
BUG胡汉三 2017-07-10
  • 打赏
  • 举报
回复
把你的json对象先转换成java的!
u010646265 2017-07-10
  • 打赏
  • 举报
回复
我感觉越说有点越乱了 public class ZkOrgUnit { private String id; private String code; private String name1; private String name2; private String name3; --------------------------------------------- public class DeptInfo { private Integer deptid; private String deptnum; private String deptname; private String deptcode; private Boolean deleted; private String UPdateTime; private String memo; 以上是两个实例对象,对应两个表,是两个不同数据库的,我取出 ZkOrgUnit 的code name2 然后insert到 DeptInfo这个表 我现在的做法是把 ZkOrgUnit中的数据取出放到List<ZkOrgUnit>中,我要插入到DeptInfo 的时候,这个两个List我不会转化了
u010646265 2017-07-10
  • 打赏
  • 举报
回复
[{"id":null,"code":"01","name1":null,"name2":"XXX有限公司","name3":null},{"id":null,"code":"01","name1":null,"name2":"XXX有限公司","name3":null}] 取出上面的code 与name2 插入到 表: deptid deptnum deptname deptcode deleted code 对应deptnum name2 对应deptname -------------------------------------------- [{"id":null,"code":"01","name1":null,"name2":"XXX有限公司","name3":null},{"id":null,"code":"01","name1":null,"name2":"XXX有限公司","name3":null}] ----------------如果我这个 是List<Zk> 我取出的code name2是用List<Zk>装吗,我用这个List<Zk>装在insert 的时候,两个对象不一样,我是可以set到另一个对象中的吗
u010646265 2017-07-10
  • 打赏
  • 举报
回复
引用 9 楼 hanpoyangtitan 的回复:
[quote=引用 7 楼 u010646265 的回复:] 我用的是sql server 的数据库,
网上的一个例子 <insert id="batchSaves" parameterType="com.*******.DeptParam"> WITH R AS <foreach collection="list" item="item" index="index" open="(" close=")" separator="union all"> SELECT #{item.deptnum} as deptnum, #{item.deptname} as deptname, </foreach> INSERT INTO 你的数据表(deptnum,deptname) SELECT deptnum, deptname FROM R </insert> 写个dao的接口 [/quote] 请问,你这是只插入 那两个字段吧,其它的我要插入默认值是怎么写 比如 deleted 默认是0

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧