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

大连网站制作哪家最好品质好物推荐怎么上

大连网站制作哪家最好,品质好物推荐怎么上,wordpress 黑白 主题,redux wordpressjooq sql最近#xff0c;我们已经展示了Java 8和函数式编程将如何为使用jOOQ和Java 8 lambda和Streams进行SQL数据的函数数据转换为Java开发人员带来新的视角。 今天#xff0c;我们将这一步骤更进一步#xff0c;将数据转换为JavaFX XYChart.Series以根据数据生成美观的条形… jooq sql 最近我们已经展示了Java 8和函数式编程将如何为使用jOOQ和Java 8 lambda和Streams进行SQL数据的函数数据转换为Java开发人员带来新的视角。 今天我们将这一步骤更进一步将数据转换为JavaFX XYChart.Series以根据数据生成美观的条形图。 设置数据库 我们将在PostgreSQL数据库中再次使用世界银行开放数据的一小部分。 我们正在使用的数据如下 DROP SCHEMA IF EXISTS world;CREATE SCHEMA world;CREATE TABLE world.countries (code CHAR(2) NOT NULL,year INT NOT NULL,gdp_per_capita DECIMAL(10, 2) NOT NULL,govt_debt DECIMAL(10, 2) NOT NULL );INSERT INTO world.countries VALUES (CA, 2009, 40764, 51.3),(CA, 2010, 47465, 51.4),(CA, 2011, 51791, 52.5),(CA, 2012, 52409, 53.5),(DE, 2009, 40270, 47.6),(DE, 2010, 40408, 55.5),(DE, 2011, 44355, 55.1),(DE, 2012, 42598, 56.9),(FR, 2009, 40488, 85.0),(FR, 2010, 39448, 89.2),(FR, 2011, 42578, 93.2),(FR, 2012, 39759,103.8),(GB, 2009, 35455,121.3),(GB, 2010, 36573, 85.2),(GB, 2011, 38927, 99.6),(GB, 2012, 38649,103.2),(IT, 2009, 35724,121.3),(IT, 2010, 34673,119.9),(IT, 2011, 36988,113.0),(IT, 2012, 33814,131.1),(JP, 2009, 39473,166.8),(JP, 2010, 43118,174.8),(JP, 2011, 46204,189.5),(JP, 2012, 46548,196.5),(RU, 2009, 8616, 8.7),(RU, 2010, 10710, 9.1),(RU, 2011, 13324, 9.3),(RU, 2012, 14091, 9.4),(US, 2009, 46999, 76.3),(US, 2010, 48358, 85.6),(US, 2011, 49855, 90.1),(US, 2012, 51755, 93.8); 另请参阅本文了解针对上述数据的另一套很棒SQL查询 我们现在要做的是在两个不同的条形图中绘制两组值 2009-2012年间每个国家的人均GDP 2009年至2012年期间每个国家的债务占其GDP的百分比 然后这将创建8个系列两个图表中的每个系列都有四个数据点。 除了上述内容之外我们还希望按2009-2012年之间的平均预测值对系列进行排序以便可以轻松比较系列-进而比较国家/地区。 通过结果图表在视觉上进行解释显然比在文本上进行解释容易因此请继续关注直到文章结尾。 使用jOOQ和JavaFX收集数据 我们将编写以计算上述数据系列的查询在普通SQL中如下所示 select COUNTRIES.YEAR, COUNTRIES.CODE, COUNTRIES.GOVT_DEBT from COUNTRIES join (select COUNTRIES.CODE, avg(COUNTRIES.GOVT_DEBT) avg from COUNTRIES group by COUNTRIES.CODE ) c1 on COUNTRIES.CODE c1.CODE order by avg asc, COUNTRIES.CODE asc, COUNTRIES.YEAR asc 换句话说我们只需要从COUNTRIES表中选择相关列就可以自动加入每个国家/地区的平均预测值以便可以按该平均值对结果进行排序。 可以使用窗口函数来编写相同的查询。 我们稍后再讲。 我们将编写以下代码来使用jOOQ和JavaFX创建这样的条形图 CategoryAxis xAxis new CategoryAxis(); NumberAxis yAxis new NumberAxis(); xAxis.setLabel(Country); yAxis.setLabel(% of GDP);BarChartString, Number bc new BarChart(xAxis, yAxis); bc.setTitle(Government Debt); bc.getData().addAll(// SQL data transformation, executed in the DB// -------------------------------------------DSL.using(connection).select(COUNTRIES.YEAR,COUNTRIES.CODE,COUNTRIES.GOVT_DEBT).from(COUNTRIES).join(table(select(COUNTRIES.CODE, avg(COUNTRIES.GOVT_DEBT).as(avg)).from(COUNTRIES).groupBy(COUNTRIES.CODE)).as(c1)).on(COUNTRIES.CODE.eq(field(name(c1, COUNTRIES.CODE.getName()), String.class)))// order countries by their average // projected value.orderBy(field(name(avg)),COUNTRIES.CODE,COUNTRIES.YEAR)// The result produced by the above statement// looks like this:// -----------------// |year|code|govt_debt|// -----------------// |2009|RU | 8.70|// |2010|RU | 9.10|// |2011|RU | 9.30|// |2012|RU | 9.40|// |2009|CA | 51.30|// -----------------// Java data transformation, executed in app memory// ------------------------------------------------// Group results by year, keeping sort // order in place.fetchGroups(COUNTRIES.YEAR)// The generic type of this is inferred...// StreamEntryInteger, Result// Record3BigDecimal, String, Integer// .entrySet().stream()// Map entries into { Year - Projected value }.map(entry - new XYChart.Series(entry.getKey().toString(),observableArrayList(// Map records into a chart Dataentry.getValue().map(country - new XYChart.DataString, Number(country.getValue(COUNTRIES.CODE),country.getValue(COUNTRIES.GOVT_DEBT)))))).collect(toList()) ); 真正有趣的是我们可以从数据库中获取数据然后将其一次转换为JavaFX数据结构。 整个过程几乎是一个Java语句。 SQL和Java完全分开 正如我们之前在此博客上所写的那样 将上述方法与LINQ或JPQL的DTO提取功能进行比较时 存在非常重要的区别。 即使我们在一个语句中表示整个转换SQL查询还是与Java内存中的数据转换完全分开的。 在表达对数据库SQL查询时我们希望尽可能精确以便能够计算最佳执行计划。 只有实现了数据集之后Java 8 Stream转换才会启动。 当我们将上述与SQL-92兼容的查询更改为使用令人敬畏的窗口函数的与SQL-1999兼容的查询时这一点的重要性就清楚了。 上面的语句的jOOQ部分可以由以下查询代替 DSL.using(connection).select(COUNTRIES.YEAR,COUNTRIES.CODE,COUNTRIES.GOVT_DEBT).from(COUNTRIES).orderBy(avg(COUNTRIES.GOVT_DEBT).over(partitionBy(COUNTRIES.CODE)),COUNTRIES.CODE,COUNTRIES.YEAR); …或在SQL中 selectCOUNTRIES.YEAR,COUNTRIES.CODE,COUNTRIES.GOVT_DEBT fromCOUNTRIES order byavg(COUNTRIES.GOVT_DEBT) over (partition by COUNTRIES.CODE),COUNTRIES.CODE,COUNTRIES.YEAR 如您所见运行此类报告时至关重要的是要控制实际SQL语句。 这样您根本不可能通过窗口函数通过嵌套选择将排序重构为效率更高的排序。 更不用说重构数十行Java排序逻辑了。 是的 很难击败窗口功能的美丽 如果我们添加一些其他的JavaFX样板文件以将图表放入窗格场景和舞台中我们将在下面获得这些漂亮的图表 带有JavaFX和jOOQSQL 自己玩 您可以自己下载并运行上述示例。 只需下载以下示例并运行mvn clean install https : //github.com/jOOQ/jOOQ/tree/master/jOOQ-examples/jOOQ-javafx-example 翻译自: https://www.javacodegeeks.com/2015/01/transform-your-sql-data-into-charts-using-jooq-and-javafx.htmljooq sql
http://www.zqtcl.cn/news/698228/

相关文章:

  • 外贸网站制作有哪些做体育的网站
  • 广州哪里有做网站推广最牛的网站建
  • 建设网站用户名是什么原因世界500强企业排名2020
  • 创建网站要找谁手机网站后台源码
  • canvas网站源码网站静态和动态区别
  • 网站建设需要了解哪些方面数据分析工具
  • 求个网站没封的2021网站建设初步课程介绍
  • 沈阳网站前端网站建栏目建那些
  • 经典网站案例江苏省建设厅官网
  • 公司建设网站需要多少钱重庆房产网站建设
  • 鹤岗市建设局网站可信网站认证有用吗
  • 网站注册的账号怎么注销如何百度推广
  • 用wordpress制作网站模板阿里云网站建设合作
  • 金华建设公司网站宝武马钢集团公司招聘网站
  • 万州网站制作公司阳江市网站建设
  • 下载建设网站软件投资公司注册资金多少
  • 如何创建一个论坛网站免费域名解析平台
  • 国外经典手机网站设计单位做网站有哪些
  • 网站备案 优帮云百度提交入口网址截图
  • 广州五羊建设官方网站富阳区住房和城乡建设局网站
  • 网站代理怎么做的wordpress有什么缺点
  • 哪些网站可以做免费外贸Wordpress首图自动切换
  • 建网站几个按钮公司黄页企业名录在哪里查
  • 网站建设类外文翻译游戏开科技软件免费
  • 黄山家居网站建设怎么样济南在线制作网站
  • 东莞电子产品网站建设营销型网站推广方式的论文
  • 如何寻找做网站的客户聚名网查询
  • 甘肃制作网站凡科快图官网登录入口在线
  • discuz网站建设教学视频教程哪些大型网站有做互联网金融
  • jquery动画特效网站物流网站前端模板下载