Java将数据逐条插入到Mysql数据库中

1、在数据库中创建表,注意字段类型:写入的数据类型要和表中字段的数据字段相对应;

2、写java连接mysql连接类

package Standardize;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Connect{
	Connection con;	
	public static final String url="jdbc:mysql://localhost:3306/lunwen";
	public static final String name="com.mysql.jdbc.Driver";
	public static final String user="root";
	public static final String password="1234";
	
	
	
	
	public Connection getConnection(){
		try{
			Class.forName(name);
			con=DriverManager.getConnection(url,user,password);
			
		}catch(Exception e){
			e.printStackTrace();
		}
		return con;
	}
	
	}
	


3、sql语句:注意,写入多条时,注意关闭连接,防止出现“Too  many connections ”当然网上有方法直接修改配置文件,不过我感觉治标不治本,如果想通过修改配置文件,但找不到my.ini,可在评论中提问

package Standardize;

import java.io.*;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;

import com.csvreader.CsvReader;

import Standardize.Connect;

public class fenlie {
	

	static Connection con;
	static PreparedStatement sql;
	static ResultSet ret1=null;
	Connect c=new Connect();
	
	
	
	public void importfile() {
		
		String filePath="src\\file\\train1.csv";
		
		try {
			CsvReader csvReader = new CsvReader(filePath);
			csvReader.readHeaders();
			Queue<String> queue = new LinkedList<String>();
		
			while (csvReader.readRecord()) {
				con=c.getConnection();
				
				
					 try{
						 sql=con.prepareStatement("insert into gps_data"+"("+"TRIP_ID,"+"TIMESTAMP,"+"Longitude,"+"Latitude,"
                                                 +"SN"+")values("+"?"+","+"?"+","+"?"+","+"?"+","+"?"+")");			
					        
					for (int x = 0; x < result.length; x++) {
						
							  sql.setString(1,csvReader.get(1));
							  sql.setInt(2,csvReader.get(2));
							  sql.setString(3,csvReader.get(3));
							  sql.setString(4,csvReader.get(4));
							  sql.setInt(5,csvReader.get(5));
							  sql.executeUpdate();
					        	}
						  
					}
					 catch(SQLException e){
				        	e.printStackTrace();
				        }
					 finally
						{
							if(sql!= null)
								try {
									sql.close();
								} catch (SQLException e) {
									// TODO Auto-generated catch block
									e.printStackTrace();
								} 		
							if(con!= null)
								try {
									con.close();
								} catch (SQLException e) {
									// TODO Auto-generated catch block
									e.printStackTrace();
								} 
						}
				
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值