博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
维C理财数据存入数据库
阅读量:6378 次
发布时间:2019-06-23

本文共 6491 字,大约阅读时间需要 21 分钟。

hot3.png

简单的数据模板

2、【合肥05】第M6807期 宝马X1 已回购

众筹129000元,分红2516元,万元收益195.04元,89天,年化收益率8%

5、【山东17】第M6823期 奔驰GLK300 已回购
众筹238000元,分红4590元,万元收益192.86元,88天,年化收益率8%

20、第S364期 石榴计划(新手标) 已回款

众筹98000元,分红1208.22元,万元收益123.29元,30天,年化收益率15%

21、第S365期 石榴计划(30天标国庆加息2%至11%) 已回款

众筹600000元,分红5424.66元,万元收益90.41元,30天,年化收益率11%

22、【SWVU103】第M8523期 路虎揽胜 已回款

众筹600000元,分红6000元,万元收益100元,25天,年化收益率14.6%

1、导入JDBC的文件Db.java,驱动包

package com.wc.daoru;

import java.sql.Connection;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 封装整个  JDBC 操作数据库的过程  
 * 1.加载驱动
 * 2.建立连接 
 * 3.声明
 * 4.访问数据 
 * 5.关闭声明
 * 6.关闭连接
 * Administrator
 *
 */
class Db//数据库连接
{
    /**
     * 加载驱动
     * SQLException
     */
    protected void jiaQuDong() throws SQLException
    {
        try
        {
            //oralce 的数据库驱动
            //反射
            Class.forName("oracle.jdbc.driver.OracleDriver");
        }
        catch (ClassNotFoundException e)
        {
            System.out.println("加载驱动异常");
            e.printStackTrace();
            throw new SQLException("加载驱动异常");
        }
    }

    /**

     * 建立连接方法
     *
     * SQLException
     */
    protected Connection jianLianJie() throws SQLException
    {
        try
        {
            // sqlserver  连接
            //    String url = "jdbc:jtds:sqlserver://localhost:1433/student";
            //    Connection conn = DriverManager.getConnection(url, "sa", "sa");
            
            //oralce 连接
            String url = "jdbc:oracle:thin::1521:xe";
            //加载连接 
            Connection conn = DriverManager.getConnection(url, "stt", "123456");
            
            return conn;
        }
        catch (SQLException e)
        {
            System.out.println("建立连接异常");
            e.printStackTrace();
            throw new SQLException("建立连接异常");
        }    
    }
    
    /**
     * 声明连接
     * @return
     * @throws SQLException
     */
    protected Statement shengMing(Connection conn) throws SQLException
    {
        try
        {
            Statement stmt = conn.createStatement();
            return stmt;
        }
        catch (SQLException e)
        {
            System.out.println("stmt生成异常");
            e.printStackTrace();
            throw new SQLException("stmt生成异常");
        }
    }
    
    
    /**
     * 关闭结果集信息
     * @param rs
     * @throws SQLException
     */
    protected void guanRS(ResultSet rs) throws SQLException
    {
        try
        {
            rs.close();
        }
        catch (SQLException e)
        {
            System.out.println("rs关闭异常");
            e.printStackTrace();
            throw new SQLException("rs关闭异常");
        }
    }
    

    

    /**
     * 执行查询数据  返回结果集
     * @param stmt
     * @param sql
     * @return
     * @throws SQLException
     */
    protected ResultSet zhiXingCha(Statement stmt, String sql) throws SQLException
    {
            //java Sql 通过 声明  sql  和数据 做交互 
            //结果 ResultSet
            ResultSet rs = stmt.executeQuery(sql);
            return rs;
    }

    /**

     * 执行增删改  方法  返回结果 
     * @param stmt
     * @param sql
     * @return
     * @throws SQLException
     */
    protected int zhiXingZSG(Statement stmt, String sql) throws SQLException
    {
        try
        {
            //带着信息 访问你数据库
            int tiao = stmt.executeUpdate(sql);
            return tiao;
        }
        catch (SQLException e)
        {
            System.out.println("执行增删改异常");
            e.printStackTrace();
            throw new SQLException("执行增删改异常");
        }
    }
    
    /**
     * 执行sql  
     * @param stmt
     * @param sql
     * @return
     * @throws SQLException
     */
    protected boolean zhiXing(Statement stmt, String sql) throws SQLException
    {
        try
        {
            boolean ok = stmt.execute(sql);
            return ok;
        }
        catch (SQLException e)
        {
            System.out.println("execute异常");
            e.printStackTrace();
            throw new SQLException("execute异常");
        }
    }
    
    /**
     * 处理结果集 信息  变为 List<Map> 内容
     * @param stmt
     * @param sql
     * @return
     * @throws SQLException
     */
    protected List<Map<String, String>> rs2ListMap(ResultSet rs) throws SQLException
    {
        try
        {
            List <Map<String,String>> list=new ArrayList<Map<String,String>>();        
            //循环  rs  rs.next()  每当有循环信息的时候 我就进入循环
            while (rs.next())
            {
                Map<String,String> map=new HashMap<String, String>();
                //结果集的整个数据信息
                ResultSetMetaData rsmd=rs.getMetaData();
                //多少个字段信息
                int 数量=rsmd.getColumnCount();
                //每一条数据 通过 for放置到  map
                for (int i = 1; i <=数量; i++)
                {
                    String 字段名=rsmd.getColumnName(i);                
                    String 字段值=rs.getString(字段名);
                
                    map.put(字段名, 字段值);
                }
            
                list.add(map);
            }
            return list;
        }
        catch (SQLException e)
        {
            System.out.println("rs2ListMap异常");
            e.printStackTrace();
            throw new SQLException("rs2ListMap异常");
        }
    }
    
    
    /**
     * 关闭声明信息
     * @param rs
     * @throws SQLException
     */
    protected void guanStmt(Statement stmt) throws SQLException
    {
        try
        {
            stmt.close();
        }
        catch (SQLException e)
        {
            System.out.println("stmt关闭异常");
            e.printStackTrace();
            throw new SQLException("stmt关闭异常");
        }
    }
    
    /**
     * 关闭连接
     * @param conn
     * @throws SQLException
     */
    protected void guanConn(Connection conn) throws SQLException
    {
        try
        {
            conn.close();
        } 
        catch (SQLException e)
        {
            System.out.println("conn关闭异常");
            e.printStackTrace();
            throw new SQLException("conn关闭异常");
        }
    }
}
 

 

2、建立txttest.java

1、读取数据txt中得数据到List中

 public static List<String> txt2List(File file){
        List<String> list = new ArrayList<String>();
        try{
            BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
            String s = new String();
            while((s = br.readLine())!=null){//使用readLine方法,一次读一行
                    String [] s1=null;
                    if(s.length()==0){
                        continue;
                    }
                    if(Character.isDigit(s.charAt(0))){
                       String s2 = s.substring(s.indexOf("、")+1);//将序号和空格都截取掉
                       s1 = s2.split("\\【|】| ");
                       for(int i=0;i<s1.length-1;i++){//将第一行信息都放到List
                           if(s1[i].isEmpty()){
                               continue;
                           }
                           list.add(s1[i]);
                       }
                    }else{
                       s1 = s.split("\\,");
                       for(int i=0;i<s1.length;i++){//将第二行信息都放到List
                           list.add(s1[i]);
                       }
                    }
                    //System.out.println(Arrays.toString(s1));
                    //System.out.println(s1.length);
                    
            }
            //System.out.println(list);
            br.close();    
        }catch(Exception e){
            e.printStackTrace();
        }
        return list;
    }

2、去除掉List中的不要的数据

//得到新List 去掉石榴计划等
    private static List<String> newlis(List<String> list) {
        List<String> lis = new ArrayList<>();
        for(int i=0;i<list.size();i++){
            if(list.get(i).startsWith("第S")){
                i+=6;
                continue;
            };
            lis.add(list.get(i).trim());
        }
        return lis;
    }

 

3、将List中得数据插入数据库中

private static void insjk(List<String> lis) {

        Db db = new Db();
        try {
            db.jiaQuDong();
            Connection conn = db.jianLianJie();
            Statement stmt = db.shengMing(conn);
            int sum = 0;
            String riqi = "2017-11-01";
            for(int i=0;i<lis.size();i=i+8){
                String sql = "insert into wclcxx (wid, riqi, cheshang, qishu, chexing, zhongchou, fenhong, shouyi,days, rate)"
                        + "values('"+UUID.randomUUID().toString()+"','"+riqi+"',"
                        + "'"+lis.get(i)+"','"+lis.get(i+1)+"', '"+lis.get(i+2)+"',"
                        + "'"+lis.get(i+3)+"', '"+lis.get(i+4)+"', '"+lis.get(i+5)+"', '"+lis.get(i+6)+"', "
                        + "'"+lis.get(i+7)+"')";
                //System.out.println(sql);
                int tiao = db.zhiXingZSG(stmt, sql);
                sum+=tiao;
            }

            System.out.println(sum);

            db.guanStmt(stmt);
            db.guanConn(conn);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }

 

4、主函数

public static void main(String[] args){
        File file = new File("D:/维C理财数据.txt");
        List<String> list = txt2List(file);
        List<String> lis = newlis(list);
        insjk(lis);
        //System.out.println(txt2List(file));
    }

 

成功!!!!

转载于:https://my.oschina.net/u/3696747/blog/1576711

你可能感兴趣的文章
python 装饰器
查看>>
手机端布局,rem布局动态获取根字体大小
查看>>
navicat 连接Oracle 报错:Cannot load OCI DLL, 126
查看>>
5090 众数
查看>>
带你认识spark安装包的目录结构
查看>>
openssl转换各种证书的语法收集
查看>>
QML之使用Loader加载QML组件
查看>>
UML基本架构建模--类的辅助信息
查看>>
Spring Cloud与分布式系统
查看>>
[转]lua数据结构--闭包
查看>>
设计模式
查看>>
error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义
查看>>
TP视图命名规则之一
查看>>
Android解析WindowManager(二)Window的属性
查看>>
Spark RDD API具体解释(一) Map和Reduce
查看>>
Python爬糗百热门20条并邮件分发+wxPython简易GUI+py2app转成可运行文件
查看>>
深入理解 JBoss 7/WildFly Domain 模式启动过程
查看>>
转载 Servlet3 的 @WebServlet http://www.cnblogs.com/luxh/archive/2012/06/06/2537458.html
查看>>
使用Selenium+PhantomJS实现网页内容加载(包括网页后期Ajax出来的结果)
查看>>
Zookeeper系列(一)
查看>>