草庐IT

JDBC-Test

全部标签

java - 如何通过jdbc获取主键的列名

我有如下代码:DatabaseMetaDatadmd=connection.getMetaData();ResultSetrs=dmd.getPrimaryKeys(null,null,tableName);while(rs.next()){primaryKey=rs.getString("COLUMN_NAME");}rs不为空,而rs.next()总是返回false,有人知道吗?谢谢。 最佳答案 元数据接口(interface)实现由驱动程序供应商实现。某些驱动程序和某些数据库可能不支持它。这是来自javadoc的文本:某些Da

java - "No information about coverage per test."来自带有 Jacoco Ant 构建的 Sonar

我正在使用Ant、Jacoco和Sonar。当我运行构建时,Sonar告诉我“没有关于每次测试覆盖率的信息”。Sonar仪表板有我的覆盖结果,但我无法深入查看它们以查看代码。然而,由Jacoco生成的HTML报告确实包含深入代码。这是我的报道任务:我的Sonar目标看起来像这样:有人知道我错过了什么吗? 最佳答案 看起来您还没有设置“sonar.tests”属性来告诉Sonar在哪里可以找到单元测试的源代码。参见http://docs.sonarqube.org/display/SONAR/Analysis+Parameters.大

java - 不绕过 jdbc 的数据库设计

我的一个项目遇到了数据库设计问题。我正在尝试实现一项服务,该服务的一部分是数据库层。它的设置使得我有帮助程序类对数据库执行get/update方法,并且在它们之上有一个看门人层。例如:publicclassGetStudentDBHelper{publicListget(Listids){ConngetConnection...//runsqlqueryandconstructreturningStudentobjects}publicListget(ListbyClassroom){//getallstudentsinpassedinclassrooms//runsqlqueryan

java - JDBC - 连接多个数据库

我正在开发一个需要连接N个数据库系统的应用程序[N的范围在1到350之间]。想法是——用户将看到一个数据库列表,并被要求从列表中选择任何或所有数据库。选择数据库后,我需要连接到每个数据库并执行存储过程。我打算使用普通的旧JDBC并一次为它们中的每一个获取连接[或通过在多个线程中运行它们]并执行存储过程并关闭连接。而这一切都应该发生在一个事务中。执行此操作的最佳方法是什么?如果不是JDBC...还有其他有效的方法吗?更新-存储过程实际上涉及运行一些sql-例如更新列,为用户授予权限等。 最佳答案 在Executors#newFixed

java - pom.xml 中的 JDBC Maven 依赖

我在Eclipse(EEDeveloperKepler版本)中创建了一个Maven项目,我的pom.xml文件中有以下错误,“Missingartifactcom.oracle:ojdbc7:jar:12.1.0.1”inthiscodecom.oracleojdbc712.1.0.1我知道我必须将jdbc存储库添加到我的.m2文件夹中。我通过以下链接下载ojdbc7.jar来完成此操作http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html下载该存档后

java - 运行忽略@Before/@After 的 Junit @Test

是否可以在一个类中运行一个JUnit@Test方法,该类的方法用@Before注释,但忽略@Before方法仅用于此测试?编辑:我感兴趣的是JUnit是否支持此功能,而不是解决方法。我知道一些解决方法,例如将测试移动到另一个类中或删除注释并在每个测试方法中手动调用setUp()。假设在一个类中有30个测试,其中29个@Before确实简化了测试初始化​​,但其中一个(或多个)没用/它使事情复杂化。publicclassMyTestClass{@BeforepublicvoidsetUp(){//setuplogic}@Testpublicvoidtest1(){//[...]}@Tes

java - 如何指定单个测试由 play framework 的 "test-only"命令运行

很明显,人们希望将单个测试作为参数传递给test-only,这样您就可以按照文档中的说明进行操作:运行一个测试。但是你是怎么做到的呢?在Java中,您可能有一个UserTest类,它扩展了WithApplication并在User模型上定义了一堆测试(每个测试都使用@Test)。你想说test-onlymodels.UserTest.createAUser但只有测试会告诉你[info]Passed:Total0,Failed0,Errors0,Passed0[info]Noteststorunfortest:testOnly[success]Totaltime:0s那么如何只运行一个测

java - 安全的 JDBC 连接

我有一个普通的Java应用程序,它应该连接到数据库。我不想将数据库连接url和用户名/密码存储在属性文件中或在应用程序中对其进行硬编码。解决此问题的常用方法是什么?Java应用程序如何在不泄露用户名/密码的情况下连接到数据库? 最佳答案 我是一名.NET开发人员,但我遇到过完全相同的情况。去年我在一家公司工作,该公司必须符合PCI标准才能存储信用卡数据,因此安全性非常重要。URL/登录数据必须存在于某处。我见过的最常见的保护它的方法是加密。我不太了解Java,但.NET在核心框架中有几个加密命名空间。我们使用这些来加密数据库登录。您

java - JDBC 记录到文件

我需要将项目中对Oracle数据库的所有查询记录到日志文件中。实现此目标的好的解决方案是什么?一些示例用法将不胜感激。我看过SLF4J与jdbcdslog,但我不确定如何使用它登录文件。此外,我需要“过滤”一些日志(因为我不需要知道某些getxxxx方法何时被调用)我更喜欢使用java.util.logging但这不是必需的。谢谢。**更新**我找到了thisOraclearticle,但是它并没有真正说明如何以编程方式做同样的事情。 最佳答案 经过大量阅读,这就是我的工作方式:注意:有关更多信息,请阅读OracleDiagnosa

java - 什么时候应该在 ActiveMQ 中使用 JDBC 持久性适配器?

阅读ActiveMQ文档(我们使用的是5.3版本),我找到了有关将JDBC持久性适配器与ActiveMQ一起使用的可能性的部分。有什么好处?它在性能或可靠性方面有任何提升吗?我应该什么时候使用它? 最佳答案 在我看来,如果您想要一个故障转移代理并且您不能使用文件系统,您将使用JDBC持久性。JDBC持久性(在我们的测试期间)比记录到文件系统要慢得多。对于单个代理,日志文件系统是最好的。如果您在主动/被动故障转移中运行两个代理,则这两个代理必须能够访问相同的日志/数据存储,以便被动代理可以检测并在主代理发生故障时接管。如果您使用的是日