吾身为剑所成 2018-04-13 00:55 采纳率: 0%
浏览 1923
已结题

java事务 mybaits插入语句执行但是数据库没有相应记录

请问大神们,下面的这段代码,我要如何给TransactionCallback事务添加手动提交?
或者有没有什么自动提交的方法?

    @SuppressWarnings("unchecked")
    public List<String> insertBankOrdLog(
            final List<BankOrdLog> BankOrdLogList, final String merCode, final Date createDate, final String type) {

        logger.info("PC CHANNEL[" + merCode + "] ACCT BEGIN...");

        return (List<String>) transactionTemplate.execute(new TransactionCallback() {

            public Object doInTransaction(TransactionStatus status) {
                List<String> insertErrorStr = new ArrayList<String>();
                try {
                    if (!BankOrdLogList.isEmpty()) {
                        List<BankOrdLog> dbList = new ArrayList<BankOrdLog>();
                        for (BankOrdLog i : BankOrdLogList) {
                            int count = bankOrdLogMapper.getBankOrdLogForCount(i);
                            int num = 0;
                            int num1 = 0;
                            if (count == 0) {
                                if (i != null) {
                                    dbList.add(i);
                                }
                            } else if (count > 0) {
                                logger.info("错误");
                                num++;
                                String resultStr = "插入时出错的数据:sysSeqId:" + i.getSysSeqId();
                                insertErrorStr.add(resultStr);
                                continue;
                            }
                        }
                        if (dbList.size() > 0) {
                            bankOrdLogMapper.insertBatchBankOrdLog(dbList);
                            dbList.clear();
                        }
                        BankOrdLogList.clear();
                    }

                } catch (Exception e) {
                    status.setRollbackOnly();
                    logger.info(e.getMessage());
                    insertErrorStr.add(e.getMessage());
                    return insertErrorStr;
                }
                return insertErrorStr;
            }
        });
    }
  • 写回答

7条回答 默认 最新

  • 高智商的生活 2018-04-13 01:13
    关注

    那你把语句复制到数据库中,看能不能插入数据库中

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable