当前位置: 首页 > news >正文

绍兴做网站鼎成做网站公司 郑州

绍兴做网站鼎成,做网站公司 郑州,wordpress提速插件,seo网站推广全程实例q7goodies事例在Data Geekery #xff0c;我们喜欢Java。 而且#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL #xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 #xff0c;现在我们觉得是时候开始一个… q7goodies事例 在Data Geekery 我们喜欢Java。 而且由于我们真的很喜欢jOOQ的流畅的API和查询DSL 我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 现在我们觉得是时候开始一个新的博客系列了…… Java 8星期五 每个星期五我们都会向您展示一些不错的教程风格的Java 8新功能这些功能利用了lambda表达式扩展方法和其他出色的功能。 您可以在GitHub上找到源代码 。 Java 8 GoodieSQL ResultSet流 是的必须再次处理SQL主题。 即使上周我们答应了关于并发性的文章 Java 8 lambda和与“传统” API的互操作性也是一个非常重要的方面我们首先要讨论。 检查异常 是。 不幸的是当我们使用Java 8的lambda表达式时过去的那些野兽仍然困扰着我们。 在Java 8发行之前已经有几个与此主题相关的Stack Overflow问题。 标准Java 8功能接口的lambda表达式中的强制检查异常处理 抛出异常的Lambda函数 Lambda流按异常进行方法过滤 让我们记住遍历文件系统时IOExceptions是如何引起问题的 。 除非您编写自己的实用程序否则您将不得不诉诸此美 Arrays.stream(dir.listFiles()).forEach(file - {try {System.out.println(file.getCanonicalPath());}catch (IOException e) {throw new RuntimeException(e);}// Ouch, my fingers hurt! All this typing! }); 我们认为可以肯定地说 Java 8和检查的异常不匹配。 一种解决方法是编写包装受检查的异常的自己的CheckedConsumer 。 这样的使用者将具有很高的可重用性但是……您是否想到了所有其他FunctionalInterfaces java.util.function包中有很多它们 java.util.function中的许多类型中的一些 jOOλ–在Java 8中修复lambda 在编写这个Java 8博客系列时 我们经常遇到需要在lambda表达式中包装检查异常的需求。 当我们经常遇到问题时极客会怎么做 我们修复它 并且我们创建了jOOλ也是jOOLjOO-Lambda ASL 2.0许可的 在其中我们几乎复制了JDK可用的每个FunctionalInterface 以支持受检查的异常。 在上面的示例中使用jOOλ的方法如下 Arrays.stream(dir.listFiles()).forEach(Unchecked.consumer(file - {// Throw all sorts of checked exceptions// here, we dont care...System.out.println(file.getCanonicalPath());}) ); 上面的示例显示了如何简单地忽略检查的异常并将其作为RuntimeExceptions传递。 如果您确实想处理它们则可以传递一个异常处理程序lambda Arrays.stream(dir.listFiles()).forEach(Unchecked.consumer(file - {System.out.println(file.getCanonicalPath());},e - {log.info(Log stuff here, e);throw new MyRuntimeException(e);} ); 现在第二个示例似乎同样冗长但是不用担心。 您可能会重用该异常处理程序然后回到此状态 Arrays.stream(dir.listFiles()).forEach(Unchecked.consumer(file - {System.out.println(file.getCanonicalPath());},myExceptionHandler );jOOλ–提供JDBC ResultSet流 不幸的是Java 8 Streams API中的大多数工作都是在正确实现可并行化流的领域中进行的。 尽管这对于实际进行并行计算的我们来说非常有用但对于大多数其他人而言与遗留API更好的集成会更好。 JDBC应该值得一提的是JDBC而我们之前已经在博客上进行了介绍 。 使用jOOλ 您现在可以直接从ResultSets甚至从PreparedStatements生成流。 准备方法如下 Class.forName(org.h2.Driver); try (Connection c getConnection()) {String sql select schema_name, is_default from information_schema.schemata order by schema_name;try (PreparedStatement stmt c.prepareStatement(sql)) {// code here} } 现在使用jOOλ时要做的所有事情就是流这样的PreparedStatements SQL.stream(stmt, Unchecked.function(rs -new SQLGoodies.Schema(rs.getString(SCHEMA_NAME),rs.getBoolean(IS_DEFAULT)) )) .forEach(System.out::println); 其中SQLGoodies.Schema只是普通的POJO。 一些stream()方法的签名是这些签名 public static T StreamT stream(PreparedStatement stmt,FunctionResultSet, T rowFunction );public static T StreamT stream(PreparedStatement stmt,FunctionResultSet, T rowFunction,Consumer? super SQLException exceptionHandler ); 其他也可用。 太棒了不是吗 JDBC ResultSet应该是Java 8流。 不幸的是上面的代码没有将其纳入JDK 8因为这将是一次最终极大地改善JDBC API的机会。 朱利安·艾森伯格Julian Exenberger在此进行了另一项类似的尝试来改善事物。 Java 8编写SQL的替代方法 我们还发布了使用Java 8和SQL替代jOOλ的几种方法 http : //www.jooq.org/java-8-and-sql 结论 尽管Java 8的lambda表达式很棒但是新的Streams API却很不完整。 在实现上述内容时我们必须实现自己的ResultSetIterator 并将所有这些混乱情况写成将迭代器包装在Stream StreamSupport.stream(Spliterators.spliteratorUnknownSize(new ResultSetIterator(supplier, rowFunction, exceptionTranslator), 0), false ); 如果只有我们能够生成有限的流 则不必首先编写Iterator // Unfortunately, this method doesnt exist Stream.generate(// Supplier, generating new POJOs() - { rs.next(); return new SQLGoodies.Schema(rs.getString(SCHEMA_NAME),rs.getBoolean(IS_DEFAULT));},// Predicate, terminating the Stream() - { !rs.isLast(); } ); 尽管jOOλ是一个可接受的中间解决方案并且Guava家伙可能已经在研究如何修复其库但这确实太糟糕了因为Java 8缺少这种实用程序功能。 但是我们在高度抱怨。 按照承诺下周我们将看到几个与并发相关的示例请继续关注 有关Java 8的更多信息 同时请查看Eugen Paraschiv出色的Java 8资源页面 参考 Java 8 Friday Goodies来自JACG SQL和JOOQ博客的JCG合作伙伴 Lukas Eder的SQL ResultSet流 。 翻译自: https://www.javacodegeeks.com/2014/03/java-8-friday-goodies-sql-resultset-streams.htmlq7goodies事例
http://wiki.neutronadmin.com/news/166498/

相关文章:

  • 无忧中英繁企业网站系统 破解网页设计课程心得体会
  • 国外网站专题红黄中国做趋势的网站
  • html视频网站模板网站的开发建设要做什么
  • 在淘宝上做代销哪个网站好切片工具做网站怎么做
  • 能打开各种网站的浏览器黄骅市中医院
  • 忘记网站后台账号深圳龙岗区住房和建设局网站
  • 郑州网站建设修改做网站运营很累吧
  • 做网站分流三个字最吉利最旺财的公司名
  • 中国建设银行网站-个人客户嘉兴网站制作建设
  • chatgpt网站石家庄网站建设报价
  • 济南中建设计院有限公司网站娱乐视频直播网站建设
  • 怎么做自助购物网站网站推广的岗位要求
  • 自己搭建网站需要多少钱网站模版二次开发跟手工制作区别
  • 注册网站要百度实名认证安不安全网站的倒计时怎么做的
  • 娱乐平台网站建设cn域名建设网站需要备案吗
  • 公司网站内容更新该怎么做做网站需要云数据库吗
  • 送给做网站的锦旗语免费推广的网站
  • 建设一个招聘网站大概多少费用邢台优化网站排名
  • 阿里买域名 电脑做网站德州公司做网站
  • 免费照片的网站模板免费下载远洋国际一期官方网站建设
  • 创业做网站开发推广网站哪家做的好
  • 中国建设银行网站不好用烟台工程建设信息网站
  • 杭州高瑞网站建设网站建设需要配置环境么
  • 做网站用个人还是企业比较好深圳优化公司排名
  • 网站制作公司起名wordpress4.9.8安装
  • 网站建设工作落实情况wordpress重置
  • 厦门高端网站建设公司应用商店app下载安卓版
  • 单页网站 产品放哪自己做的网站如何引流
  • 想做网站策划怎么做门户网站建设与推广方案
  • 如何看别人网站用什么做的wordpress 5.0网易云音乐