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

网站建设包含seo吗爱企查企业查询入口

网站建设包含seo吗,爱企查企业查询入口,公司名称大全免费测吉凶,高能建站jooq和jdbc本文是我们学院课程“ jOOQ –类型安全数据库查询”的一部分 。 在SQL和特定关系数据库很重要的Java应用程序中#xff0c;jOOQ是一个不错的选择。 当JPA / Hibernate抽象过多而JDBC过于抽象时#xff0c;这是一种替代方法。 它显示了一种现代的领域特定语言如何可… jooq和jdbc 本文是我们学院课程“ jOOQ –类型安全数据库查询”的一部分 。 在SQL和特定关系数据库很重要的Java应用程序中jOOQ是一个不错的选择。 当JPA / Hibernate抽象过多而JDBC过于抽象时这是一种替代方法。 它显示了一种现代的领域特定语言如何可以极大地提高开发人员的生产率从而将SQL内部化为Java。 在本课程中我们将看到如何使用jOOQ有效地查询数据库。 在这里查看 目录 1.简介 2.检查异常 2.1。 JDBC 2.2。 OO 3.结果集 3.1。 您可以在foreach循环中使用jOOQ结果 3.2。 您可以将jOOQ结果与Java 8流一起使用 4.准备的陈述 4.1。 JDBC 4.2。 OO 5.带有结果集的语句 5.1。 JDBC 5.2。 OO 1.简介 也可以从org.jooq.academy.section3包中获得本节中显示的示例 。 大多数Java开发人员对JDBC是什么以及它如何工作都有深刻的了解。 如果还没有的话请查看Oracle的官方JDBC教程以了解有关JDBC的更多信息。 JDBC通常因冗长而受到批评。 JDBC也因选择了错误的“默认值”而受到批评例如默认的结果集的延迟实现。 我们将看到jOOQ如何改进这些批评 2.检查异常 Java的检查异常已被视为失败这也是Java 8的新Streams API和所有相关功能接口不再支持检查异常的原因。 所有jOOQ的API都将抛出从jOOQ的org.jooq.exception.DataAccessException派生的RuntimeExceptions 在大多数情况下您无需捕获它从而使其中止运行以中止当前正在运行的事务。 比较两者的示例 JDBC // These two calls can throw a SQLException try (PreparedStatement stmt connection.prepareStatement(SELECT FIRST_NAME FROM AUTHOR);ResultSet rs stmt.executeQuery()) {// This can throw a SQLExceptionwhile (rs.next()) {// This can throw a SQLExceptionSystem.out.println(rs.getString(1));} }OO DSL.using(connection).select(AUTHOR.FIRST_NAME).from(AUTHOR).fetch().forEach(record - System.out.println(record.getValue(AUTHOR.FIRST_NAME)));3.结果集 JDBC的ResultSet是一个非常有状态的对象无法与Java Collections API很好地互操作。 例如它没有实现Iterator 因为它还必须适应在基础数据库游标中向后滚动-几乎任何人都不需要的功能。 jOOQ通过org.jooq.Result类型更好地集成了SQL结果集可容纳所有用例的95 jOOQ的Result实现了java.util.List 因此继承了List的所有功能包括将其转换为Java 8 Stream的功能 。 jOOQ的Result已完全实现到Java内存中而不是默认情况下是惰性的。 这样可以尽早释放资源。 jOOQ的Result知道其自己的Record类型该类型允许通过列引用而不是列索引进行类型安全的访问记录属性。 请注意以上是默认设置。 如果您有较大的结果集并且不想逐条记录地实现则可以始终使用jOOQ的惰性获取功能。 在以下示例中可以看出 您可以在foreach循环中使用jOOQ结果 for (Record record : DSL.using(connection).select().from(AUTHOR).fetch()) {System.out.println(record); }您可以将jOOQ结果与Java 8流一起使用 DSL.using(connection).select().from(AUTHOR).fetch().stream().flatMap(record - Arrays.stream(record.intoArray())).forEach(System.out::println);4.准备的陈述 奇怪的是JDBC区分静态java.sql.Statement类型和java.sql.PreparedStatement类型。 这种做法将使您不必执行往返数据库的操作即可在执行之前准备语句-但是无论如何最好使用已准备好的语句执行所有查询的95所以为什么要打扰呢 jOOQ不会通过单独的语句类型来区分这两种执行模式 。 相反您可以使用设置标志来指示在真正需要时应执行静态语句。 一个例子 JDBC // Static statement try (Statement stmt connection.createStatement()) {// Remember to pass the SQL string here!stmt.executeUpdate(ALTER TABLE ...); }// Prepared statement try (PreparedStatement stmt connection.prepareStatement(SELECT * FROM ... )) {// Remember not to pass the SQL string here!stmt.executeUpdate();// ... although, from an API perspective, this would be possible toostmt.executeUpdate(Some SQL here); }OO // Static statement DSL.using(connection, new Settings().withStatementType(StatementType.STATIC_STATEMENT)).fetch(SELECT * FROM AUTHOR)// Prepared statement DSL.using(connection).fetch(SELECT * FROM AUTHOR)5.带有结果集的语句 另一方面无法从JDBC语句类型推断出该语句是否实际上是一个查询返回结果集或者它是否将返回许多更新的行或者根本不返回任何内容。 如果您不知道则必须运行以下乏味的JDBC代码 JDBC try (PreparedStatement stmt connection.prepareStatement(SELECT FIRST_NAME FROM AUTHOR)) {// Use the little-known execute() methodboolean moreResults stmt.execute();// Use the rarely-used do {} while (...) loopdo {// Check first, if there is any ResultSet availableif (moreResults) {try (ResultSet rs stmt.getResultSet()) {while (rs.next()) {System.out.println(rs.getString(1));}}}else {System.out.println(stmt.getUpdateCount());}}// Repeat until there are neither any more result sets or update countswhile ((moreResults stmt.getMoreResults()) || stmt.getUpdateCount() ! -1); }OO 使用jOOQ您可以按类型区分两种类型的语句 org.jooq.Query是具有更新计数且没有结果的语句 org.jooq.ResultQuery是带有结果的语句 只有ResultQuery具有各种fetch()方法 Query q1 dsl.query(ALTER TABLE ...); int rows q1.execute();ResultQuery? q2 dsl.resultQuery(SELECT * FROM AUTHOR); Result? result q2.fetch();翻译自: https://www.javacodegeeks.com/2015/09/comparing-jooq-with-jdbc.htmljooq和jdbc
http://www.zqtcl.cn/news/503951/

相关文章:

  • 外贸公司有必要建设网站吗赣州做网站哪家好
  • 功能型网站设计深圳网站优化效果
  • 郑州定制网站开发规模以上工业企业总产值
  • 锡林浩特市长安网站 建设初步方案廊坊百度推广排名优化
  • 搭建论坛网站的流程企业网络推广软件
  • 中国化工建设网站家居装修设计
  • 铜陵公司做网站大淘客网站建设app
  • 网站面包屑导航织梦做网站的教程
  • 建湖网站建设价格小程序商城哪个平台好
  • 网站域名 被别人备案买房的人都哭了吧
  • 自己做网站 套模板工具磨床东莞网站建设
  • 怎么上传图片到公司网站在深圳注册公司需要什么资料
  • 网站建设的公司哪家好用一段话来解释网站建设
  • 没有文字的网站怎么优化wordpress自定义文章类型模板
  • 东营网站设计制作网站建设匠人匠心科技
  • 海外如何淘宝网站建设2022新闻大事件摘抄
  • 仿win8 网站淘宝客网站开发视频教程
  • 宣威做网站建设的公司哈尔滨网站建设公司名字
  • 学网页设计在哪学关键词优化公司前十排名
  • 菏泽定制网站建设推广无固定ip 建设网站
  • wordpress网站制作教程视频百度云域名购买
  • 软件最全网站株洲网站排名优化价格
  • 购物便宜的网站有哪些家居企业网站建设讯息
  • 美橙网站产品详情深圳做网站的公司哪个好
  • 江苏省建设注册中心网站平面设计要素
  • 厦门网站建设_策划公司
  • 惠州建网站服务网站建设价格是哪些方面决定的
  • 如何在百度上做公司做网站搜索百度网页版
  • 松江新城投资建设发展有限公司网站产品营销文案
  • 哪个网站有做彩平的材质贴图广州app开发公司排行十强