欢迎光临北大青鸟华大软件校区

我的位置: 首页 >>Java 8 Streams 中的数据库 CRUD 操作

Java 8 Streams 中的数据库 CRUD 操作

2017-06-14

来源:

  Java 8 Streams 中的数据库 CRUD 操作

  接触一个新工具的时候,刚开始要克服的最大障碍就是如何让你自己先尝试做出一个小东西来。现在你也许对 Java 8 中新的 Stream API 的运作方式在理解上比较自信,但你也许并没用它来进行过数据库查询操作。为了帮助你开始使用 Stream API 来对 SQL 数据库进行创建、修改和读取操作, 我已经在这个快速开始的教程中把它们整合到了一起。希望它能帮助你提升对流式API的使用水平!

  背景

  Speedment 是一个开放源代码的工具集 ,它可以被用来生成 Java 实体,并且能将我们同数据库的通信过程管理起来。你可以利用一个图形工具连接到数据库并生成出一套完整的 ORM 框架代码来表示域模型。但是 Speedment 不单单只是一个代码生成器而已,它还是一个能插入应用程序中的运行时程序,这样就有可能将你的 Java 8 流式代码翻译成优化过的SQL查询。这也是我将会在本文中专门讲述的一个部分。

  生成代码

  要在一个 Maven 工程中开始使用 Speedment,需要你将下面几行代码添加到你的 pom.xml 文件中。在本例中,我使用的是 MySQL,而你也可以选择使用 PostgreSQL 或者 MariaDB。面向于像Oracle这样的专有数据库可用于企业级客户。

  Pom.xml

  

  3.0.1

  mysql

  mysql-connector-java

  5.1.39

  

  

  

  com.speedment

  runtime

  ${speedment.version}

  pom

  

  

  ${db.groupId}

  ${db.artifactId}

  ${db.version}

  

  

  

  

  

  com.speedment

  speedment-maven-plugin

  ${speedment.version}

  

  

  ${db.groupId}

  ${db.artifactId}

  ${db.version}

  

  

  

  

  

  现在你可以访问到许多新的 Maven 资源库,它们能让你更加轻松的使用这个工具包。要启动Speedment UI, 执行如下命令:

  mvn speedment:tool

  这样就会有一个过程引导你连接到数据库并对代码生成进行配置。一开始最简单的方法就是用默认的设置先跑起来再说。当你按下生成按钮“Generate,”Speedment 就会对你的数据库元数据进行分析,然后在你的工程中添加像实体和实体管理器这样的类。

  初始化 Speedment

  当你的域模型生成好了以后,Speedment 的设置就容易了。创建一个新的 Main.java 文件然后添加如下几行代码。你看到的类都是生成的,因此它们的命名都是根据数据库模式、表以及列的名称来决定的。

  Main.java

  public class Main {

  public static void main(String... param) {

  final HaresApplication app = new HaresApplicationBuilder()

  .withPassword("password")

  .build();

  }

  }

  上面的代码创建了一个新的应用程序实体,它使用了一种生成的构造器模式。构造器是的对任何运行时配置细节的设置成为可能,例如数据库的密码。

  当我们有了一个应用实体,就可以用它来访问生成的实体管理器了。在这里,我的数据库中有了四个表; “hare”, “carrot”, “human”, 以及 “friend”. (你可以在这里找到完整的数据库定义)。

  final CarrotManager carrots = app.getOrThrow(CarrotManager.class);

  final HareManager hares ? ? = app.getOrThrow(HareManager.class);

  final HumanManager humans ? = app.getOrThrow(HumanManager.class);

  final FriendManager hares ? = app.getOrThrow(FriendManager.class);

  现在这些实体管理器可以被用来执行所有的CRUD操作了。

相关热词搜索:北大青鸟北大青鸟

开班信息

开班课程 人数 了解详情
名企定向委培班 剩余名额3 课程介绍
ACCP8.0软件培训班 剩余名额8 课程介绍
短期冲刺班 剩余名额2 课程介绍
项目精英班 剩余名额1 课程介绍
NET课程重点班 剩余名额6 课程介绍
软件开发精英班 剩余名额2 课程介绍
JAVA特招班 剩余名额10 课程介绍

免费试听

试听课程 了解详情
名企定向委培班 试听详情
ACCP8.0软件培训班 试听详情
短期冲刺班 试听详情
项目精英班 试听详情
NET课程重点班 试听详情
软件开发精英班 试听详情
JAVA特招班 试听详情

姓名:

电话:

最新就业

姓名 就业岗位 就业企业
何伟煊 java工程师 金政信息科技
张雅涵 NET工程师 国贸集团股份有限公司
张默 项目组长 极宇舟天有限公司
张婧涵 NET工程师 大族激光有限公司
张洪文 运维工程师 诚迈科技有限公司
王玥婷 java技术顾问岗位 百纳威尔有限公司
王鸿轩 Java开发岗位 爱卡智能
邓安志 软件开发工程师 美的集团
何浚宏 软件开发课程工程师 东和科技有限公司
黄隆 软件开发顾问 建发股份公司
刘应琴 软件开发工程师 国美集团
刘雨林 java工程师 唯品会科技有限公司
彭子昂 Java开发 爱卡智能有限公司

华大校区地址:佛山市禅城区佛山大道北143号

电话:400-966-9387? ?0757-88726000

北大青鸟华大软件校区

?未标题-1