java解析阿里云上的db文件获取值

Connection c = null;
        PreparedStatement st = null;
        ResultSet rs = null;
            Class.forName("org.sqlite.JDBC");
            c =  DriverManager.getConnection("jdbc:sqlite:"+sInfo.getFileName());
            logger.info("jdbc:sqlite:"+sInfo.getFileName());
            c.setAutoCommit(false);
            st = c.prepareStatement("select id,student_id,paper_id,subject_id,subject_relation_id,ques_id,answer,answer_abc,md5,msg,stat_type,time,code from stat as a  ");
            rs = st.executeQuery();
            List<Object[]> list = new ArrayList<Object[]>();
            //解析DB
            while (rs.next()) {  
                String stuId = rs.getString("student_id");
                if(Strings.isNullOrEmpty(stuId)){
                    stuId = sInfo.getStudentId();
                }
                sInfo.setStudentId(stuId);
                String abc = rs.getString("answer_abc");
                if(!Strings.isNullOrEmpty(abc)){
                    abc = abc.trim();
                }
                list.add(new Object[]{rs.getInt("id"),stuId,rs.getInt("paper_id"),rs.getInt("subject_id"),rs.getString("subject_relation_id"),rs.getInt("ques_id")
                        ,rs.getString("answer"), abc ,rs.getString("md5"),rs.getString("msg"),rs.getInt("stat_type"),rs.getString("time"),rs.getString("code")});
            }
            logger.info("studentId:"+sInfo.getStudentId());
            if(!Strings.isNullOrEmpty(sInfo.getStudentId())){
                int count = jdbcTemplate.queryForObject("select count(1) from "+table+" where student_id = ? and subject_id =?",Integer.class,sInfo.getStudentId() ,sInfo.getSubjectId());
                
                logger.info("_____sinfo.studentId_count:"+count);
                
                if(count == 0){
                    String sql = "insert into "+table+" (log_id,student_id,paper_id,subject_id,subject_relation_id,ques_id,answer,answer_abc,md5,msg,stat_type,time,code) values(?,?,?,?,?,?,?,?,?,?,?,?,?)";                
                    jdbcTemplate.batchUpdate(sql, list);
                }
            }
            if(rs != null) {
                rs.close();
            }
            
            if(st!=null) {
                st.close();
            }
            
            if(c!=null) {
                c.close();
            }

      }

两点需要注意的地方:

  • 其中的Strings方法需要导入 pxm文件: 
  • <dependency>

  •             <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>18.0</version>
            </dependency>

2.db文件放置路径:DriverManager.getConnection("jdbc:sqlite:"+sInfo.getFileName());

jdbc:sqlite:/home/dbLog/20190308xxxxxDownLoad/1xxx8/ZxxxxdUZZtA_25_st

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后端从入门到精通

你的鼓励是我最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值