jdbc批量插入实例

jdbc批量插入实例

package test;

import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.List;

import com.allinfinance.cis.br.infrastructure.TmBrIvsOut;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;


public class testIvs {
	public static void main(String args[]){
		TmBrIvsOut tmBrIvsOut=new TmBrIvsOut();
		tmBrIvsOut.setOutId(3);
		tmBrIvsOut.setOrg("001");
		tmBrIvsOut.setCustId("22");
		TmBrIvsOut tmBrIvsOut2=new TmBrIvsOut();
		tmBrIvsOut2.setOutId(4);
		tmBrIvsOut2.setOrg("001");
		tmBrIvsOut2.setCustId("22");
		List<TmBrIvsOut> tmBrIvsOuts=new ArrayList<TmBrIvsOut>();
		tmBrIvsOuts.add(tmBrIvsOut2);
		tmBrIvsOuts.add(tmBrIvsOut);
		//以一次性插入上面两条数据为例
		try {
			batchInsert(tmBrIvsOuts);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private static void batchInsert(List<TmBrIvsOut> tmBrIvsOuts) throws Exception {
		Class.forName("com.mysql.jdbc.Driver");//获取驱动
		Connection conn=(Connection) DriverManager.getConnection("jdbc:mysql://10.2.17.37:3306/cis?useServerPrepStmts=false&rewriteBatchedStatements=true",
                       "username", "password");//连接数据库
		conn.setAutoCommit(false);//关闭自动提交
		PreparedStatement ps=(PreparedStatement) conn.prepareStatement("insert into TM_BR_IVS_OUT "
				+"(org,cust_id,out_id,code_key,code_value,out_name)"+ "values"+ "(?,?,?,?,?,?)");//sql语句
		for(TmBrIvsOut tb:tmBrIvsOuts){
			//1,2,3....表示sql中对应的每个?
			ps.setString(1, tb.getOrg());
			ps.setString(2, tb.getCustId());
			ps.setLong(3, tb.getOutId());
			ps.setString(4, null);
			ps.setString(5, null);
			ps.setString(6, null);
			ps.addBatch();//手机多条数据
		}
		ps.executeBatch();//同时提交多条数据
		conn.commit();
		ps.close();
		ps.close();
		System.out.println("success");
	}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106342.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ConcurrentHashMap 1.7和1.8区别

    ConcurrentHashMap 1.7和1.8区别ConcurrentHashMap与HashMap和Hashtable最大的不同在于:put和get两次Hash到达指定的HashEntry,第一次hash到达Segment,第二次到达Segment里面的Entry,然后在遍历entry链表(1)从1.7到1.8版本,由于HashEntry从链表变成了红黑树所以concurrentHashMap的时间复杂度从O(n)到O…

    2022年6月24日
    27
  • Ubuntu 16.04 上 CUDA_10.0及cuDNN的安装

    Ubuntu 16.04 上 CUDA_10.0及cuDNN的安装一、安装方式CUDA提供两种安装方式:packagemanager安装和runfile安装,packagemanager安装方式相对简单一些,但是我在阅读别人博客的过程中发现选择这种方式在安装过程中问题可能多一点,失败的概率较大。为了减少不必要的麻烦我选择runfile安装方式。下载cuda安装包:cuda官网下载,根据系统信息选择对应的版本,runfile安装的话最后一项要选择ru…

    2022年5月1日
    52
  • MySQL百分比显示和显示前百分之几的方法

    MySQL百分比显示和显示前百分之几的方法1)查询所有时间内,所有产品销售金额占比,按占比大小降序排序,筛选累计占比在前80%的产品,结果输出排名产品名称销售金额占比累计占比。2)查询所有时间内,各个国家的销售情况,销售合计金额大于10000视为业绩合格,否则为不合格,结果输出国家销售金额业绩情况。3)查询中国、英国每个月份的销售情况,2020年8月份销售合计金额大于10000视为业绩合格,否则为不合格,2020年9月份销售合计金额大于12000视为业绩合格,否则为不合格,结果输出月份中国销售业绩、英国销售业绩。

    2022年7月27日
    5
  • C++传递函数指针[通俗易懂]

    C++传递函数指针

    2022年1月17日
    59
  • 1024代理服务器网站,1024hgc.com服务器iP「建议收藏」

    2021-07-26—–2021-08-10172.67.24.1612021-07-26—–2021-08-10104.22.46.962021-07-26—–2021-08-10104.22.47.962021-03-25—–2021-07-26104.26.3.652021-03-25—–2021-07-26104.26.2.652021-03-25—–2…

    2022年4月9日
    100
  • ubuntu 18.04 ros melodic_ubuntu查看软件版本

    ubuntu 18.04 ros melodic_ubuntu查看软件版本1.ROS版本选择ROS是一个用于编写机器人软件的灵活框架,它集成了大量的工具、库、协议,提供了类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、公用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。ROS和Ubuntu版本安装对应关系ROS版本Ubuntu版本indigo14.04kinetic16.04melodic18.04ROS的安装方法主要有两种:软件源安装和源码编译安

    2025年10月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号