mysql导入excel数据太长_导入Excel时,大量数据导致MySQL连接数太多

在尝试导入Excel数据到MySQL时,遇到因查询主键和外键导致的数据库连接数过多问题。尽管代码中已经确保了连接在使用后被关闭,但数据库仍显示连接存在。问题可能出在连接池管理或者事务处理上。方法`execSqlQuery`用于执行SQL查询,包括检查主键和外键,但在大量数据操作下,可能需要优化连接释放策略。
摘要由CSDN通过智能技术生成

每次插入之前,查询一下,主键是否重复,外键是否存在,调用如下方法,连接都关闭了为什么数据库中还显示连接着publicListexecSqlQuery(Stringsql,Object...objects)throwsOPExceptio...

每次插入之前,查询一下,主键是否重复,外键是否存在,调用如下方法,连接都关闭了为什么数据库中还显示连接着

public List execSqlQuery(String sql, Object... objects) throws OPException {

Connection conn = null;

ResultSet rs = null;

PreparedStatement pstmt = null;

List list = new ArrayList();

try {

conn = getConnection();

pstmt = conn.prepareStatement(sql);

int i = 0;

for (Object object : objects) {

if (object != null && object instanceof Date) {

object=new java.sql.Date(((Date)object).getTime());

}

pstmt.setObject(++i, object);

}

rs = pstmt.executeQuery();

ResultSetMetaData resultMetaData = rs.getMetaData();

int fieldCount = resultMetaData.getColumnCount();

while (rs.next()) {

if (fieldCount == 1) {

list.add(rs.getObject(1));

} else {

List l = new ArrayList();

for (int j = 1; j <= fieldCount; j++) {

l.add(rs.getObject(j));

}

list.add(l.toArray());

l = null;

}

}

} catch (Exception e) {

throw OPUtil.handleException(e);

} finally {

try {

if (rs != null) {

rs.close();

}

if (pstmt != null) {

pstmt.close();

}

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

}

}

return list;

}

public Connection getConnection() throws OPException {

return getSession().connection();

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值