• 批量操作的应用


    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();
    }
    }

  • 相关阅读:
    Robot Framework-取出接口返回的字段
    利用VBA宏批量解决Word中图片大小、居中设置
    封装和继承
    Shiro的学习
    Redis集群搭建
    Mysql主从架构
    idea修改maven的默认配置不生效
    Mybatis笔记
    【python】文件的读写方法(r;r+;rb;w;w+;wb;a;a+;ab)
    【Python】Xpath语法&示例
  • 原文地址:https://www.cnblogs.com/future-zmy/p/6235327.html
Copyright © 2020-2023  润新知