materialmanager.java

来自「物料管理 物料登记 批量登记:一次性导入多条物料 单条登记:只能录入一条」· Java 代码 · 共 102 行

JAVA
102
字号
/**
 * 
 */
package com.qrsx.storage.manager;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.List;

import com.qrsx.storage.model.Material;

/**
 * @author Administrator
 *
 */
public class MaterialManager {

	/**
	 * 将集合中的物料数据插入到数据中
	 * @param materials
	 */
	public void addAll( List<Material> materials ) throws Exception{
        Connection conn=null;
        
		try{
			
			conn = JdbcUtil.getConnection();
			
			String sql = "INSERT INTO material(id,name,client,unit,price,total,note) VALUES(?,?,?,?,?,?,?);";
			PreparedStatement ps = conn.prepareStatement(sql);
			
			for( int i=0,n=materials.size(); i<n; i++ ){
				Material material = materials.get(i);
				ps.setInt(1, material.getId());
				ps.setString(2, material.getName());
				ps.setString(3, material.getClient());
				ps.setString(4, material.getUnit());
				ps.setFloat(5, material.getPrice());
				ps.setFloat(6, material.getTotal());
				ps.setString(7, material.getNote());
				ps.executeUpdate();
			}
			
		}catch( Exception e ){
			e.printStackTrace();
			throw e;
		}finally{
			if( conn!=null ){
				try{
					conn.close();
				}catch( Exception e ){
					e.printStackTrace();
				}
			}
		}
	}

	/**
	 * 将集合中的物料数据插入到数据中
	 * @param materials
	 */
	public void addAllByBatch( List<Material> materials ) throws Exception{
        Connection conn=null;
        
		try{
			
			conn = JdbcUtil.getConnection();
			
			String sql = "INSERT INTO material(id,name,client,unit,price,total,note) VALUES(?,?,?,?,?,?,?);";
			PreparedStatement ps = conn.prepareStatement(sql);
			
			for( int i=0,n=materials.size(); i<n; i++ ){
				Material material = materials.get(i);
				ps.setInt(1, material.getId());
				ps.setString(2, material.getName());
				ps.setString(3, material.getClient());
				ps.setString(4, material.getUnit());
				ps.setFloat(5, material.getPrice());
				ps.setFloat(6, material.getTotal());
				ps.setString(7, material.getNote());
				ps.addBatch();
			}
			
			//批量提交
			ps.executeBatch();
			
		}catch( Exception e ){
			e.printStackTrace();
			throw e;
		}finally{
			if( conn!=null ){
				try{
					conn.close();
				}catch( Exception e ){
					e.printStackTrace();
				}
			}
		}
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?