zoukankan      html  css  js  c++  java
  • sql批量入库

    public void saveBatch(List<Asset> entitys) throws ClassNotFoundException, SQLException {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            StringBuffer sql = new StringBuffer("INSERT IGNORE INTO 表名 (AssetId,Category,SubCategory,VideoUrl"
                    + ",Anchor,AssetDesc,Keyword,Title,UploadTime,ImgUrl,PosterUrl,Duration,CreateTime,VideoStatus,ImgStatus,UpdateTime) "
                    + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ");
            
            String className = PropertyManager.getProperty("jdbc.driverClassName");
            String url = PropertyManager.getProperty("jdbc.url")+"&useServerPrepStmts=false&rewriteBatchedStatements=true";
            String userName = PropertyManager.getProperty("jdbc.username");
            String password = PropertyManager.getProperty("jdbc.password");            
            
            Class.forName(className);
            Connection connection = DriverManager.getConnection(url,userName,password);
            //设置手动提交
            connection.setAutoCommit(false);  
            PreparedStatement ps = connection.prepareStatement( sql.toString());
            for (Asset entity : entitys) {
                ps.setString(1,entity.getAssetId());
                ps.setString(2,entity.getCategory());
                ps.setString(3,entity.getSubCategory());
                ps.setString(4,entity.getVideoUrl());
                ps.setString(5,entity.getAnchor());
                ps.setString(6,entity.getAssetDesc());
                ps.setString(7,entity.getKeyword());
                ps.setString(8,entity.getTitle());
                ps.setString(9,entity.getUploadTime()+"");
                ps.setString(10,entity.getImgUrl());
                ps.setString(11,entity.getPosterUrl());
                ps.setInt(12,entity.getDuration());
                ps.setString(13,sdf.format(new Date()));
                ps.setInt(14,0);
                ps.setInt(15,0);
                ps.setString(16,sdf.format(new Date()));
                ps.addBatch();
            }
            ps.executeBatch();
            ps.clearBatch();
            //提交批处理
            connection.commit();
            //执行
            connection.close();
        }

    INSERT IGNORE INTO  库中没有的入库,有的忽略,注意设置唯一索引,一般除了id只有一个。

    REPLACE INTO 库中存在的直接更新。

    INSERT INTO 表名(id,age,name)values ( id ,age,name)   on duplicate key update age=? , name =?

  • 相关阅读:
    DataNucleus Access Platform 3.2 M2 发布
    dnsjava 2.1.4 发布,Java 的 DNS 解析包
    deltasql 1.5.5 发布,数据库模型版本控制
    Mezzanine 1.3 和 Cartridge 0.7 发布!
    Spring Framework 3.2 GA版发布,Spring MVC焕然一新
    Filemonitor 2.2.0 发布,文件监控工具
    Rudiments 0.40 发布,C++ 常用工具包
    脚本编程语言 Felix
    JRuby 1.7.2 发布
    OfficeFloor 2.7.0 发布,IoC 框架
  • 原文地址:https://www.cnblogs.com/onroad2019/p/11327164.html
Copyright © 2011-2022 走看看