zoukankan      html  css  js  c++  java
  • Java导入csv文件到mysql

    package CSV;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.nio.charset.Charset;
    import java.sql.Connection;
    
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    import com.csvreader.CsvReader;
    
    import CSV.DBUtil;
    
    
    public class csv1 {
        public static void main(String[] args) throws IOException, SQLException {
    
            String path="D:\data\school.csv";
            csv(path);
        }
        public static boolean csv(String path) throws IOException, SQLException {
            Connection conn = DBUtil.getConn();
            PreparedStatement state = null;
            int a=0;
            boolean f = false;
            CsvReader reader=new CsvReader(path,',',Charset.forName("gbk"));
            String name=new BufferedReader(new FileReader(new File(path))).readLine();
            System.out.println(name);
            //name就是表格列的名称
            reader.readHeaders();
            int len=reader.getHeaders().length;
            System.out.println(len);
            try {
            //len表示的是有几个列
                while(reader.readRecord()){  //整个while就是为了组装成为 插入语句的形式
                    state = conn.prepareStatement("insert into school("+name+") values( ?, ?, ?)");
                    for(int i=1;i<len+1;i++){
                        state.setString(i,reader.get(i-1) );
                    }
                    a=state.executeUpdate();
                    if (a > 0) {
                        f = true;
                    }
                    }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(state, conn);
            }
    
        
            return f;
        }
    }
    package db;
    
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.PreparedStatement;
    
    /**
     * 数据库连接工具
     * @author Hu
     *
     */
    public class DBUtil {
        
        public static String db_url = "jdbc:mysql://localhost:3306/javaweb?useSSL=false";
        public static String db_user = "root";
        public static String db_pass = "199126";
        
        public static Connection getConn () {
            Connection conn = null;
            
            try {
                Class.forName("com.mysql.jdbc.Driver");//加载驱动
                conn = DriverManager.getConnection(db_url, db_user, db_pass);
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            return conn;
        }
        
        /**
         * 关闭连接
         * @param state
         * @param conn
         */
        public static void close (PreparedStatement state, Connection conn) {
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        
        public static void close (ResultSet rs, PreparedStatement state, Connection conn) {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
    }
  • 相关阅读:
    LocalDateTime和Date使用@JsonFormat显示毫秒时间
    curl查看ip的几种方式
    thinkphp5.1生成缩略图很模糊
    ajax发送时禁用按钮
    thinkphp5 不使用form,用input+ajax异步上传图片
    GOLANG 闭包和普通函数的区别
    GOLANG 匿名函数笔记
    父级自适应自己高度且高度完全一致css
    子元素等高 css
    ios 用jquery为元素标签绑定点击事件时,ios上不执行点击事件
  • 原文地址:https://www.cnblogs.com/zlj843767688/p/13786608.html
Copyright © 2011-2022 走看看