带映射的Java数据库?

我将创建一个我需要使用映射的数据库,(这不是JAVA EE)我说的只是JavaSE而不是EE,我想知道我将如何实现我制作的这些类? (用户,联系信息,员工,FinanceTeam,SystemAdmin)如何将这些对象的数据传输到数据库中? 绘图如何工作? 一个BASIC数据库教程将帮助我很多,谢谢顺便说一下,如果你很好奇,我正在使用MySQL作为我的数据库

用于监视文本文件更改的Java代码

我需要编写一个java代码来检测对文本文件所做的更改,并且还通知在更改文本文件时对文本文件所做的更改(例如)如果在文本文件中将单词ABCD更改为BCDA,那么我需要通知ABCD已更改为BCDA。 你能告诉我是否可以使用java实现这一点(仅使用开源,没有付费或商业工具)

字符串的断言失败消息包含子串

我最近在文本生成软件的文本输出上做了很多function测试,发现自己写了很多 assertTrue(actualString.contains(wantedString)); 但是,失败时的消息是非描述性的 Expected [true], but was [false] 另一种方法是包含自定义失败消息 String failMsg = String.format(“Wanted string to contain: %s, Actual string: %s”, wantedString, actualString); assertTrue(failMsg, actualString.contains(wantedString)); 但是一直手动执行此操作感觉有点乏味。 有没有更好的办法?

无需交易即可获取数据

下面是带有spring事务的示例代码片段。 我的问题: – 是否会使用相同的会话来获取第1行和第2行的实体? 我的理解: – 我相信是的,春季交易将确保这一点 @Transactional() public void method1( //fetch entity1 from dao with the help of entity manager//line 1 // fetch entity2 from dao with the help of entity manager//line 2 // now I fetch thru method entity.fetchLazyField()// line 3 ) 现在,如果我删除@Transactional() 。 我相信一旦获取entity1就会关闭会话,并且将为line2使用单独的会话。 对 ? 在第3行(一旦@Transactional被删除),我是否能够获取数据或会话被关闭应该抛出exception? 我没有粘贴大的xml配置和完整的dao代码,只是用实体管理器获取etity。 事务传播属性是Required

javax.mail.Message尝试获取给定日期范围的消息

在我的应用程序中,我正在尝试使用java邮件API来读取我们收到退回电子邮件记录的一个邮箱,我相信我们可以使用它来获取所有邮件 // Get a Store object that implements the specified protocol. store = session.getStore(protocol); //Connect to the current host using the specified username and password. store.connect(hostName, userName, password); folder = store.getFolder(folderName); Message[] messages = folder.getMessages(); 然而,这将返回我提供的文件夹中的所有消息,有没有办法在我可以找到我在昨天收到的给定日期范围内的消息。 在这方面的任何帮助将受到高度赞赏。 谢谢 Vaibhav的

Spring Data返回List

我有这个存储库: @Repository public interface ProductRepository extends JpaRepository{ @Query(“SELECT p.textToSearch as text, count(*) as counter FROM Product p GROUP BY text_to_search ORDER BY counter DESC”) List findTopProducts(); } TopProductDTO类的位置是: public class TopProductDTO { public TopProductDTO() {} private String text; private Integer counter; // Getters and Setters are omited } 但是当我执行代码时 List topProducts = productRepository.findTopProducts(); 它返回一个 List […]

多个log4j.properties文件

这似乎不是一个有效的问题,但我在这里有一个要求。 以下是我的项目结构: common (built as a jar) module-1 (war, includes common.jar in its classpath) module-2 (war, includes common.jar in its classpath) module-3 (war, includes common.jar in its classpath) module-4 (war, includes common.jar in its classpath) 部署如下: module-1和module-2位于一个服务器上,module-3位于另一个服务器上,而module-4位于另一个服务器上。 要求是有两个单独的日志文件(每个服务器一个)。 因此,实现此目的的方法是将log4j.properties (绝对具有不同的名称)放在公共模块中,并将所需的属性文件复制到相应服务器的conf文件夹中。 我不确定,如果我可以使用不同名称的日志属性文件,如果可能,请帮助我指明这样做。 编辑为了使这更容易,如果你能告诉我是否可以为log4j.properties文件使用不同的名称以及如何将其加载到服务器,我将能够实现其余的。 谢谢。

使用POI写入现有xls文件

场景大致是这样的: 我有一个java程序,有几个方法被随机调用。 第一种方法将使用apache POI创建一个xls文件,并将列出列。 所有其他方法都必须将记录写入此文件。 最后的方法将首先邮寄创建的xls,然后删除xls。 对于上述情况,以下方法是正确的: 1)创建文件并将标题名称放在第一个方法中: Workbook wb = new HSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet(“First Sheet”); Row row = sheet.createRow((short)0); row.createCell(1).setCellValue(createHelper.createRichTextString(“First Column”)); row.createCell(2).setCellValue(createHelper.createRichTextString(“Second Column”)); row.createCell(3).setCellValue(createHelper.createRichTextString(“Third Column”)); // Write the output to a file FileOutputStream fileOut = new FileOutputStream(“workbook.xls”); wb.write(fileOut); fileOut.close(); 2)在剩下的方法中记录: 我不确定这里的代码。 我知道我可以使用getRowCount方法到达工作表的末尾,然后添加新行。 但我找不到任何示例代码。 另外,如何访问现有的xls文件? 3)在最后一种方法中,文件将被邮寄然后删除。 在删除文件之前是否需要执行任何其他步骤?

Kafka Log4j appender没有发送消息

我是一个新的ot apache Kafka和log4j。 我正在尝试将我的日志消息发送到Kafka。 这是我的log4j属性文件 log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %% %m%n log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender log4j.appender.KAFKA.BrokerList=localhost:9092 log4j.appender.KAFKA.Topic=kfkLogs log4j.appender.KAFKA.SerializerClass=kafka.producer.DefaultStringEncoder log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout log4j.appender.KAFKA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %% – %m%n log4j.logger.logGen=DEBUG, KAFKA 但是,我无法在我的消费者中收到任何消息。 我用其他一些生产者代码测试了消费者,它运行正常。 另外,我收到了这个警告 log4j:WARN No such property [serializerClass] in kafka.producer.KafkaLog4jAppender. 编辑 这是生成我的日志消息的代码 package logGen; import org.apache.log4j.Logger; public class TestLog4j { static Logger log = Logger.getLogger(TestLog4j.class.getName()); public […]

如何从静态方法加载图像

我有JavaFX应用程序,我想从静态Java方法调用此代码。 Image icon = new Image(getClass().getResource(“/images/system-help.png”).toExternalForm()); 但是我收到了这条警告信息: non-static method getClass() cannot be referenced from a static context 你能告诉我重写这段代码以便将它用于静态方法的正确方法是什么?