JDBC学习记录

描述:将解析出的EXCL表格中的字段存储到数据库当中,期中最后两个字段分别为文本和图片

EXCL表格如下:

姓名
性别
学号
个人简介
登记照
Jim
M
001
1.txt
1.jpg
Tom
M
002
2.txt
2.jpg
  • 将文本内容写入数据库使用Inputstream出现以下错误:
    java.sql.SQLException: Incorrect string value: '\xD4\xDA\xCA\xFD\xBE\xDD...' for column '????????€???' at row 1

  • 原因:待插入文本中存在中文,Inputstream是字节流,不适合处理Unicode字符编码;

  • 解决方法:将Inputstream改为Reader,字符流进行文本处理

  • 字节流,字符流区别的详细解答见:http://duan1823a.iteye.com/blog/907153

  • 使用Java实现判断数据库中的表格是否存在:

public boolean hasTable(String path){
        Connection conn=DBUtil.open();
        readExcel myExcl = new readExcel(path);//此处为解析EXCL表格
        String nameTbl = myExcl.tableName;//根据解析出EXCL表格得到数据库中的表格名字
        try {
            DatabaseMetaData meta=(DatabaseMetaData) conn.getMetaData();
            ResultSet isTables=meta.getTables(null, null, nameTbl, null);
            if(isTables.next()){
                return true;//表格存在,返回真
            }
            else{
                return false;//表格不存在
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
  •     使用Java创建文件夹以及文件

//File f=new File(parent, child)
//创建目录: parent:父目录名字, child:欲创建的子目录的名字
File f=new File("./data1",id+"-"+name);
                if(!f.exists()){
                    f.mkdirs();
                }
//创建文件                
                File ftxt=new File(f, id+"-"+name+".txt");
                if(!ftxt.exists()){
                    ftxt.createNewFile();
                }


你可能感兴趣的:(JDBC学习记录)