java吧 关注:1,271,375贴子:12,778,770
  • 17回复贴,共1

新人求大神教教:如何把一个一维数组存入mysql 表格中

只看楼主收藏回复

现在有excel表格,里面有8列,转化成了list 的形式了,然后iterator遍历出来,存入mysql 的一张表格。
不明白的是:在存入表格的时候怎么取这行的8个数?
比如list的其中一行是{a,b,c,d,e,f,g,h},存入表格的时候怎么取这8个数才能对应表格的列名?
新人,刚学java不久,求大神写个代码段解释一下,谢谢!


IP属地:北京1楼2014-05-21 13:27回复
    数组转json字符串 insert 进mysql


    IP属地:重庆2楼2014-05-21 13:30
    收起回复
      2025-07-27 20:02:35
      广告
      不感兴趣
      开通SVIP免广告
      blob


      来自Android客户端3楼2014-05-21 13:32
      收起回复
        继续求大神,麻烦写个代码段。


        IP属地:北京4楼2014-05-21 13:45
        回复
          PreparedStatement.setBlob
          ResultSet.getBlob
          都是InputStream
          读的话,直接ObjectInputStream.readObject,写的话,可以先ObjectOutputStream写到一个ByteArrayOutputStream中去,再用byte array 初始化一个ByteArrayInputStream就有了


          来自Android客户端5楼2014-05-21 13:54
          回复
            就说这么多了,看sdk帮助文档去吧


            来自Android客户端6楼2014-05-21 13:54
            收起回复
              上面的代码,首先是读一个excel表格里的其中8列数据,然后把这8列数据转换成数组存到list里,然后再存到mysql的表格里。本来我想把数组直接存到mysql里,可是弄了很久也没弄出来。
              本人刚学,求大家指点一下。


              IP属地:北京8楼2014-05-21 14:08
              回复
                哎?不让放代码吗?


                IP属地:北京9楼2014-05-21 14:09
                回复
                  2025-07-27 19:56:35
                  广告
                  不感兴趣
                  开通SVIP免广告
                  直接项目里找了一段代码,自己看吧
                  public BasicUser getUser(IUser user) throws Exception {
                  String sql = "select id,nickName,jifen,jingyan,qdTime,lxqdDay,"
                  + "extendApp from basic where id=?";
                  PreparedStatement pstmt = connection.prepareStatement(sql);
                  pstmt.setString(1, user.getId());
                  ResultSet res = pstmt.executeQuery();
                  if (!res.next()) {
                  return null;
                  }
                  BasicUser queryUser = new BasicUser();
                  queryUser.setId(res.getString(1));
                  queryUser.setNickName(res.getString(2));
                  queryUser.setJifen(res.getInt(3));
                  queryUser.setJingyan(res.getInt(4));
                  queryUser.setQdTime(res.getLong(5));
                  queryUser.setLxqdDays(res.getInt(6));
                  queryUser.setExtendApp(getExtendApps(res.getBlob(7)));
                  pstmt.close();
                  return queryUser;
                  }
                  @SuppressWarnings("unchecked")
                  private List<String> getExtendApps(Blob b) throws Exception {
                  if (b == null) {
                  return null;
                  }
                  ObjectInputStream in = new ObjectInputStream(b.getBinaryStream());
                  List<String> extendApps = (List<String>) in.readObject();
                  return extendApps;
                  }
                  public void setUser(BasicUser user) throws Exception {
                  String sql = "update basic set nickName=?,jifen=?,jingyan=?,qdTime=?,"
                  + "lxqdDay=?,extendApp=? where id=?";
                  PreparedStatement pstmt = connection.prepareStatement(sql);
                  pstmt.setString(1, user.getNickName());
                  pstmt.setInt(2, user.getJifen());
                  pstmt.setInt(3, user.getJingyan());
                  pstmt.setLong(4, user.getQdTime());
                  pstmt.setInt(5, user.getLxqdDays());
                  pstmt.setBlob(6, getExtendAppStream(user.getExtendApp()));
                  pstmt.setString(7, user.getId());
                  pstmt.execute();
                  pstmt.close();
                  }
                  private InputStream getExtendAppStream(List<String> extendApp)
                  throws Exception {
                  if (extendApp == null) {
                  return null;
                  }
                  ByteArrayOutputStream buffer = new ByteArrayOutputStream();
                  ObjectOutputStream out = new ObjectOutputStream(buffer);
                  out.writeObject(extendApp);
                  InputStream in = new ByteArrayInputStream(buffer.toByteArray());
                  return in;
                  }


                  12楼2014-05-21 15:06
                  收起回复
                    代码前要加汉字才能发?
                    public static void excelname(String excel_number) throws Exception {
                    try {
                    connect();
                    List <Object[]> list = new ArrayList <Object[]>();
                    FileInputStream file = new FileInputStream("C:\\Users\\wuhenzhizao\\Desktop\\股指期货数据\\" + excel_number);
                    HSSFWorkbook wb = new HSSFWorkbook(file);
                    HSSFSheet sheet = wb.getSheetAt(0);
                    for(int j = 0; j < sheet.getLastRowNum(); j++) {
                    HSSFRow row = sheet.getRow(j);
                    Object[] ary = new Object[8];
                    for(int i = 1; i <= 8; i++) {
                    HSSFCell cell = row.getCell(i);
                    if(cell != null) {
                    cell.setCellType(cell.CELL_TYPE_STRING);
                    }
                    ary[i - 1] = cell.getRichStringCellValue();
                    }
                    list.add(ary);
                    }
                    Iterator it = list.iterator();
                    if(it.hasNext()) {
                    st = con.createStatement();
                    rs = st.executeUpdate("INSERT INTO new_excel_table VALUES (" + it + ")");(这里不对)
                    }
                    }
                    catch(Exception e) {
                    System.out.println("2" + e.getMessage());
                    }
                    finally {
                    pst.close();
                    con.close();
                    }
                    }


                    IP属地:北京13楼2014-05-21 15:19
                    回复
                      顶一下


                      IP属地:北京14楼2014-05-21 15:44
                      回复
                        Iterator it = list.iterator();
                        if(it.hasNext()) {
                        st = con.createStatement();
                        rs = st.executeUpdate("INSERT INTO new_excel_table VALUES (" + it + ")");(这里不对)

                        你把Iterator 这是逗我呢。。。。。。
                        再说你这么玩,完全是把Iterator .toString放了n次好不好
                        你表单怎么设计的
                        create table 看一下


                        15楼2014-05-21 17:07
                        回复