java流写入数据库

快速流媒体

当Java 8最终问世时,我和一些大学开始了一个开源项目,以利用Java 8的流库使整个Java / DB问题更进一步,以便将数据库表视为纯Java 8流。 速度诞生了! 哇,现在我们可以做类型安全的数据库应用程序了,而不必再编写SQL代码了。在上世纪90年代,我们的Java开发人员不得不努力使数据库应用程序正常工作。 有很多编码,调试和调整。 尽管如此,应用程序经常在我们面对不断增加的痛苦的同时炸毁。 随着更好的语言,JDBC和框架支持,事情随着时间的推移逐渐得到改善。 我想我们的开发人员也有所改进,但是对此有不同的看法……

杜克和尖塔映射流。

Speedment连接到现有数据库并生成Java代码。 然后,我们可以使用生成的代码使用标准Java 8流方便地查询数据库。 随着新版本2.3的问世,我们甚至可以进行并行查询流!

让我们举一些例子,假设我们定义了以下数据库表:

CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(45) NOT NULL,`firstName` varchar(45) DEFAULT NULL,`lastName` varchar(45) DEFAULT NULL,`email` varchar(45) NOT NULL,`password` varchar(45) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `email_UNIQUE` (`email`),UNIQUE KEY `username_UNIQUE` (`username`)
) ENGINE=InnoDB;

开源数据库MySQL,PostgreSQL和MariaDB免费提供Speedment。 还支持商业数据库(例如Oracle)作为企业附加功能。

例子

查询方式

选择所有带有“ .com”邮件地址的用户并打印:

users.stream().filter(EMAIL.endsWith(".com")).forEach(System.out::println);

选择名字为“ Adam”或“ Cecilia”的用户,并按用户名顺序对其进行排序,然后选择其中的前10位并提取电子邮件地址并进行打印。

users.stream().filter(FIRST_NAME.in("Adam", "Cecilia")).sorted(USERNAME.comparator()).limit(10).map(User::getEmail).forEach(System.out::println);

创建数据库内容

创建一个新用户并将其持久保存在数据库中:

users.newEmptyEntity().setUsername("thorshammer").setEmail("mastergamer@castle.com").setPassword("uE8%3KwB0!").persist();

更新数据库内容

查找id = 10的用户并更新密码:

users.stream().filter(ID.equal(10)).map(u -> u.setPassword("pA6#nLaX1Z")).forEach(User::update);

删除数据库内容

删除ID = 100的用户:

users.stream().filter(ID.equal(100)).forEach(User::remove);

新酷玩法:并行查询

做某种昂贵的手术
对于10_000 <= id <20_000的用户并行

users.stream().parallel().filter(ID.between(10_000, 20_000)).forEach(expensiveOperation());

建立

上面示例的安装代码:

final Speedment speedment = new JavapotApplication().withPassword("javapot") // Replace with your real DB password.build();final Manager<User> users = speedment.managerOf(User.class);

快速入门

在GitHub上了解有关如何开始使用Speedment的更多信息。

翻译自: https://www.javacodegeeks.com/2016/04/java-8-use-smart-streams-database-2-minutes.html

java流写入数据库

java流写入数据库_Java 8:在2分钟内将智能流与数据库一起使用相关推荐

  1. Java 8:在2分钟内将智能流与数据库一起使用

    快速流媒体 当Java 8最终问世时,我和一些大学开始了一个开源项目,以利用Java 8的流库使整个Java / DB问题进一步向前发展,以便将数据库表视为纯Java 8流. 速度诞生了! 哇,现在我 ...

  2. java文件流写入文件_JAVA 输入输出流 本地文件读写

    今天学了一下Java的文件的读写. 流名为什么名字都这么长???? 这让我咋么记? 今天我想实现的功能是基本的文件操作,从输入in文件里读取数据,然后程序处理之后输出到out输出文件中,以助于ACM中 ...

  3. Java实现数星星_Java成长第四集--文本处理IO流

    Java IO流在实际业务中使用的频率还是蛮高的,一些业务场景比如,文件的上传和导出,文件的读取等基本都是通过操作IO流来实现的,所以IO流是我们现在学习过程中必须要掌握的技能之一,熟练的使用IO流, ...

  4. java 批量写入文件_Java批量写入文件和下载图片的示例代码

    很久没有在WhitMe上写日记了,因为觉着在App上写私密日记的话肯定是不安全的,但是想把日记存下来.,然后看到有导出日记的功能,就把日记导出了(还好可以直接导出,不然就麻烦点).导出的是一个html ...

  5. java文件流写入文件_JAVA IO流编程 实现文件的写入、写出以及拷贝

    一.流的概念 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 以内存为参照,如果数据向内 ...

  6. java中写入文件_java中创建、写入文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...

  7. java rsa 存数据库_java – 如何创建RSA密钥对以便将其存储在数据库中?

    我正在尝试实现变异加密算法(理论上由我开发)并作为需求的一部分,我需要生成一个RSA密钥对并将其存储在数据库中,以便以后作为加密过程的一部分进行检索(仅用于加密会话密钥,以便可以使用加密的消息安全地发 ...

  8. java 文件写入 读取_JAVA文件的两种读取方法和三种写入方法

    在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...

  9. java filewriter写入文件_Java中的写入字符文件类FileWriter

    上一章中我们介绍字符读取文件的类FileReader,这一章我们介绍 FileWriter主要是以字符的方式写入文件中的类. import java.io.File; import java.io.F ...

最新文章

  1. chart.Correlation绘制相关性热图
  2. 怎么学python-如何高效学python?这篇文章就是为想学的你写的
  3. C++引用(Reference)
  4. milp的matlab的案例代码_Matlab神经网络30个案例第1案例代码
  5. 2018暑假集训测试六总结
  6. PostgreSQL 连接的问题
  7. Percona XtraBackup 数据恢复工具安装 ubuntu 16.04
  8. C#:生成哈希字符串
  9. html树图制作,d3.js制作树结构图
  10. sql常识- UNIQUE
  11. selenium 下载webdriver浏览器驱动
  12. 微信公众平台的php文件的,php版微信公众平台入门教程之开发者认证的方法
  13. boost::log::trivial用法的测试程序
  14. 长隆大马戏机器人_长隆娱乐登陆
  15. uniapp 本地相册选择图片
  16. OpenMV感光元件参数设置
  17. Android 安装自身更新APK时,包解析错误或无法访问文件的可能原因
  18. 崩坏3服务器维护2月8号,崩坏3版本更新公告 2月8号2.1版本降临
  19. 女孩子付钱用计算机,“让女生付钱太没面子了,你转账给我吧。”
  20. 我遇到过最奇葩的初面!

热门文章

  1. 牛客练习赛84F-牛客推荐系统开发之下班【莫比乌斯反演,杜教筛】
  2. YbtOJ#532-往事之树【广义SAM,线段树合并】
  3. 信息学奥赛一本通1349-最优布线问题
  4. 2021牛客暑期多校训练营2 J-Product of GCDs(数论+计数)
  5. AtCoder Beginner Contest 183 总结
  6. 【笛卡尔树】【树状数组】Beautiful Pair(P4755)
  7. 糊涂的教授(2015特长生 T3)
  8. 动态规划训练11 [String painter HDU - 2476]
  9. 汇编语言(三十)之多模块求和
  10. Java多线程:线程安全和非线程安全的集合对象