java - 将 "logic"移出数据访问层会导致大量数据库连接

标签 java data-access-layer

我的数据访问层中有一个方法可以处理文件导入。这样的文件中可以包含许多需要插入数据库的记录。 该方法已经包含一定的“逻辑或业务规则”,还需要添加更多。 问题是,如果我将其移出数据访问层,则必须使用新连接单独插入每条记录。显然,当插入数千条记录时,这不是很好。 (不能保证连接被合并)。 所以我有点不知道如何解决这个问题。数据访问层类变得越来越大,就良好的设计而言,操作系统可能已经违反了几条规则。

我唯一想到的是生产者-消费者 -> 业务逻辑导入文件并执行验证并将验证记录放入队列中。一个单独的线程(数据访问层)从该队列中读取数据。

还有其他想法吗?是否存在此类问题的模式?

最佳答案

你有一个设计问题。业务逻辑层应该是一个划分事务的层,数据访问层应该始终对给定事务使用相同的连接。

例如,您可以使用 Spring,它允许您使用声明式事务和连接池,并确保为整个事务使用相同的连接。

关于java - 将 "logic"移出数据访问层会导致大量数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607888/

相关文章:

java - Process Builder 使用 AppData 文件夹找不到指定的路径

c# - 我正在构建的应用程序是否可以使用现有的数据层?

python - Web2py MySQL数据库引用错误

c# - 关于 c# 接口(interface)和泛型的问题

java - 使用 Controller -> 服务 -> 存储库对 Spring Boot 进行单元测试

java - 如何反射(reflect)另一个项目的类信息

java - 使用Sheevaplug作为基础服务器运行tomcat和Mysql

java - 从android中的非 Activity 类调用 Activity 的方法

python - python、postgresql中的数据库测试

java - spring中通过文件实现数据访问层