zoukankan      html  css  js  c++  java
  • 批量操作的应用

    public void add(Role bean) {
    try {
    // 插入角色sql
    String sql = "insert into role values(null,?,?)";
    Connection conn = ConnDB.getConn();
    // 预处理声明,并且返回主键的结果 需要加上参数 Statement.RETURN_GENERATED_KEYS
    PreparedStatement ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
    ps.setString(1, bean.getRname());
    ps.setInt(2, bean.getSort());
    ps.executeUpdate();// 执行插入角色数据
    // 取返回结果,里面有新生成的主键
    ResultSet rs = ps.getGeneratedKeys();
    int id = 0;
    if (rs.next()) {
    id = rs.getInt(1); // 取出主键
    }
    ps.close();
    // 插入 角色和权限 关系 数据
    sql = "insert into role_grante values (?,?)";
    ps = conn.prepareStatement(sql);
    // 循环批量插入数据到角色权限表中
    int index = 0;
    for (Grante grante : bean.getGrantes()) {
    ps.setInt(1, id); // 设置角色ID
    ps.setInt(2, grante.getGid());// 设置权限ID
    ps.addBatch();// 增加批量操作设置
    if (++index % 5 == 0)// 每5条执行一次插入操作
    ps.executeBatch();// 批量操作
    }
    ps.executeBatch();// 批量操作
    ConnDB.closeConn(conn);
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

  • 相关阅读:
    rabbitmq线上服务器与项目结合的问题总结
    关于RabbitMQ Queue Argument的简介
    rabbitmq代码配置
    python基础篇17-虚环境
    Java-实体与集合转换
    Java-精确计算工具类
    Java-汉字繁体拼音转换
    Java-集合条件筛选
    Java-发邮件
    Java-MD5
  • 原文地址:https://www.cnblogs.com/future-zmy/p/6235327.html
Copyright © 2011-2022 走看看