Tag: spring mvc

Hibernate从Excel中批量加载:devise或方法的build议,以获得更好的性能

我正在使用Spring MVC,Hibernate为我的Web应用程序。我使用Apache POI从Excel加载数据。我成功地能够加载数据,但我认为我的方法在性能和内存方面效率不高。 我正在解释我在做什么,我认为会提高性能。 使用兴趣点我正在阅读表格,然后读取迭代每一行,然后遍历列。 在这个单行迭代过程中,我创build了一个DTO,并将它传递给提供transcation的服务,并调用DAO层(基本上调用save()方法)。如果数据已经存在或者其无效,则引发exception知道哪个Excel行在数据中有问题。 它也像数据validation一样。 然后我迭代另一行并再次执行第2步。 这就是为什么我认为我的方法是错误的,我希望你build议如果是对的或错的。 我不是从Excel读取所有数据,而是在每行上调用服务和DAO,浪费时间切换方法。 由于数据将被保存在数据库中而不进行修改,因此应该直接将其加载到数据库中,而不是先创build对象,然后再保存它。我不做批量和批处理操作。 这是我认为我应该做的事情: 首先从excel中获取所有数据并将其存储在某个集合中。 然后我将遍历集合,在迭代过程中,我将使用该对象向HQL提供数据并执行查询。 这是在一个事务中执行许多插入查询的正确方法吗? 当我提交事务时,是否所有查询都执行或与数据库同步?如果是,那么Persistence上下文的大小是不是很大? 这确认批量操作在hibernate? 你说什么家伙?你的build议请。

Java.lang.NoClassDefFoundError:org / apache / poi / ss / usermodel / Font

我正在使用Apache POI来读取一些Excel文件。 我已经创build了一个控制台应用程序来完成这个工作,之后,我试图将代码集成到Spring MVC webApp中(没有什么特别的,我知道)。 我已经包括相同的Jar文件到我的类path ,但每当我尝试运行代码,我得到这个错误: java.lang.NoClassDefFoundError : org/apache/poi/ss/usermodel/Font 我相信在编译期间,类Font是在运行时find的。 我很确定问题不在ClassPath中 ,但我无法弄清楚如何解决这个问题。 编辑:当我用main方法(在同一个web项目中)复制新类中的相同的代码,并作为控制台java应用程序运行我的web应用程序,它的工作原理。

Spring MVC,Excel文件下载,破坏文件

我正在使用我的一个webapps中的excel导出function。 我build立了一个小testing用例,下载工作正常,但xlsx文件已损坏,不知道还有什么可以尝试的。 如果我把excel写入文件,打开没有问题,所以在下载时必须出错。 设置: spring-mvc 3.2.7 poi 3.10.1 Tomcat 8.0 控制器方法: @RequestMapping(value = "/download", method = RequestMethod.GET) public ModelAndView downloadExcel() { // create some sample data List<Book> listBooks = new ArrayList<Book>(); listBooks.add(new Book("Effective Java", "Joshua Bloch", "0321356683", "May 28, 2008", 38.11F)); listBooks.add(new Book("Head First Java", "Kathy Sierra & Bert Bates", "0596009208", "February 9, 2005", 30.80F)); […]

如何在Apache POI中设置Excel默认行高

我在Spring MVC 3.1中使用Apache POI 3.7。 如何在apache POI中设置excel默认行高? 我试过sheet.setDefaultRowHeight((short) 100)和sheet.setDefaultRowHeightInPoints(100) 但是这不起作用。 对这个问题的任何build议? 谢谢。