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

网站开发公司臻动怎么创建一个空壳公司

网站开发公司臻动,怎么创建一个空壳公司,工商注册流程和需要的资料,网站公司成功案例怎么写jooq在上一篇文章SpringBoot#xff1a;与MyBatis一起工作中#xff0c;我们学习了如何使用SpringBoot MyBatis Starter快速启动并运行Spring和MyBatis。 在本文中#xff0c;我们将学习如何使用SpringBoot JOOQ Starter。 JOOQ#xff08;面向Java对象的查询#xff09;… jooq 在上一篇文章SpringBoot与MyBatis一起工作中我们学习了如何使用SpringBoot MyBatis Starter快速启动并运行Spring和MyBatis。 在本文中我们将学习如何使用SpringBoot JOOQ Starter。 JOOQ面向Java对象的查询是包含SQL的持久性框架。 JOOQ提供以下功能 使用DSL API构建Typesafe SQL 使用代码生成引用类型安全的数据库对象 易于使用的API用于查询和数据提取 SQL记录和调试等 SpringBoot提供了一个启动程序spring-boot-starter-jooq 以便能够与JOOQ快速集成。 在本文中我们将逐步介绍如何使用spring-boot-starter-jooq 。 步骤1创建SpringBoot Maven项目 创建一个基于SpringBoot Maven的项目并配置spring-boot-starter-jooq依赖项。 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.sivalabs/groupIdartifactIdspringboot-jooq-demo/artifactIdpackagingjar/packagingversion1.0-SNAPSHOT/versionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.3.3.RELEASE/version/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingjava.version1.8/java.version/propertiesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/builddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jooq/artifactId/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency/dependencies /project 我们将首先使用H2内存数据库稍后将了解如何使用MySQL。 步骤2创建数据库初始化脚本。 我们将创建一个包含2个表的简单数据库。 src / main / resources / schema.sql DROP TABLE IF EXISTS POSTS;CREATE TABLE POSTS (ID int(11) NOT NULL AUTO_INCREMENT,TITLE varchar(200) NOT NULL,CONTENT LONGTEXT DEFAULT NULL,CREATED_ON datetime DEFAULT NULL,PRIMARY KEY (ID) );DROP TABLE IF EXISTS COMMENTS;CREATE TABLE COMMENTS (ID int(11) NOT NULL AUTO_INCREMENT,POST_ID int(11) NOT NULL, NAME varchar(200) NOT NULL,EMAIL varchar(200) NOT NULL,CONTENT LONGTEXT DEFAULT NULL,CREATED_ON datetime DEFAULT NULL,PRIMARY KEY (ID),FOREIGN KEY (POST_ID) REFERENCES POSTS(ID) ); 我们将使用data.sql脚本填充一些示例数据。 src / main / resources / data.sql insert into posts(id, title, content, created_on) values(1, Post 1, This is post 1, 2016-01-03); insert into posts(id, title, content, created_on) values(2, Post 2, This is post 2, 2016-01-05); insert into posts(id, title, content, created_on) values(3, Post 3, This is post 3, 2016-01-07);insert into comments(id, post_id, name, email, content, created_on) values(1, 1, User1, user1gmail.com, This is comment 1 on post 1, 2016-01-07);insert into comments(id, post_id, name, email, content, created_on) values(2, 1, User2, user2gmail.com, This is comment 2 on post 1, 2016-01-07);insert into comments(id, post_id, name, email, content, created_on) values(3, 2, User1, user1gmail.com, This is comment 1 on post 2, 2016-01-07);步骤3配置JOOQ Maven Codegen插件以生成数据库工件 我们将使用Maven配置文件根据数据库类型配置jooq-codegen-maven配置属性。 profilesprofileidh2/idbuildpluginsplugingroupIdorg.jooq/groupIdartifactIdjooq-codegen-maven/artifactIdexecutionsexecutiongoalsgoalgenerate/goal/goals/execution/executionsdependenciesdependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdversion${h2.version}/version/dependency/dependenciesconfigurationjdbcdriverorg.h2.Driver/driverurljdbc:h2:~/springbootjooq/url/jdbcgeneratornameorg.jooq.util.DefaultGenerator/namedatabasenameorg.jooq.util.h2.H2Database/nameincludes.*/includesexcludes /inputSchemaPUBLIC/inputSchema/databasetargetpackageNamecom.sivalabs.demo.jooq.domain/packageNamedirectorygensrc/main/java/directory/target/generator/configuration/plugin/plugins/build/profileprofileidmysql/idbuildpluginsplugingroupIdorg.jooq/groupIdartifactIdjooq-codegen-maven/artifactIdexecutionsexecutiongoalsgoalgenerate/goal/goals/execution/executionsdependenciesdependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion${mysql.version}/version/dependency/dependenciesconfigurationjdbcdrivercom.mysql.jdbc.Driver/driverurljdbc:mysql://localhost:3306/test/urluserroot/userpasswordadmin/password/jdbcgeneratornameorg.jooq.util.DefaultGenerator/namedatabasenameorg.jooq.util.mysql.MySQLDatabase/nameincludes.*/includesexcludes /inputSchematest/inputSchema/databasetargetpackageNamecom.sivalabs.demo.jooq.domain/packageNamedirectorygensrc/main/java/directory/target/generator/configuration/plugin/plugins/build/profile /profiles 我们已经使用适当的JDBC配置参数配置了两个配置文件 h2和mysql 。 我们已指定生成代码工件并将其放置在gensrc / main / java目录下的 com.sivalabs.demo.jooq.domain包中。 我们可以如下运行maven激活h2或mysql配置文件 mvn clean install -P h2 (or)mvn clean install -P mysql步骤4配置Maven build-helper-maven-plugin插件以将生成的源添加为sources文件夹 我们将配置build-helper-maven-plugin插件以便maven将添加JOOQ生成的代码驻留在 gensrc / main / java目录作为源文件夹。 plugingroupIdorg.codehaus.mojo/groupIdartifactIdbuild-helper-maven-plugin/artifactIdexecutionsexecutionphasegenerate-sources/phasegoalsgoaladd-source/goal/goalsconfigurationsourcessourcegensrc/main/java/source/sources/configuration/execution/executions /plugin步骤5创建域对象。 我们可以使用这些域对象在整个层上传递数据并使用JOOQ生成的数据库工件与数据库进行对话。 public class Post {private Integer id;private String title;private String content;private Timestamp createdOn;private ListComment comments new ArrayList();//setters getters}public class Comment {private Integer id;private Post post;private String name;private String email;private String content;private Timestamp createdOn;//setters getters }步骤6使用JOOQ实施数据持久化方法如下所示。 package com.sivalabs.demo;import static com.sivalabs.demo.jooq.domain.tables.Posts.POSTS; import static com.sivalabs.demo.jooq.domain.tables.Comments.COMMENTS;import java.sql.Timestamp; import java.util.ArrayList; import java.util.List;import org.jooq.DSLContext; import org.jooq.Record; import org.jooq.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import com.sivalabs.demo.entities.Comment; import com.sivalabs.demo.entities.Post; import com.sivalabs.demo.jooq.domain.tables.records.CommentsRecord; import com.sivalabs.demo.jooq.domain.tables.records.PostsRecord;Service Transactional public class BlogService {Autowiredprivate DSLContext dsl;public Post createPost(Post post){PostsRecord postsRecord dsl.insertInto(POSTS).set(POSTS.TITLE, post.getTitle()).set(POSTS.CONTENT, post.getContent()).set(POSTS.CREATED_ON, post.getCreatedOn()).returning(POSTS.ID).fetchOne();post.setId(postsRecord.getId());return post;}public ListPost getAllPosts(){ ListPost posts new ArrayList(); ResultRecord result dsl.select().from(POSTS).fetch();for (Record r : result) {posts.add(getPostEntity(r));}return posts ;}public Post getPost(Integer postId){Record record dsl.select().from(POSTS).where(POSTS.ID.eq(postId)).fetchOne();if(record ! null){Post post getPostEntity(record);ResultRecord commentRecords dsl.select().from(COMMENTS).where(COMMENTS.POST_ID.eq(postId)).fetch();for (Record r : commentRecords) {post.addComment(getCommentEntity(r));}return post;}return null;}public Comment createComment(Comment comment){CommentsRecord commentsRecord dsl.insertInto(COMMENTS).set(COMMENTS.POST_ID, comment.getPost().getId()).set(COMMENTS.NAME, comment.getName()).set(COMMENTS.EMAIL, comment.getEmail()).set(COMMENTS.CONTENT, comment.getContent()).set(COMMENTS.CREATED_ON, comment.getCreatedOn()).returning(COMMENTS.ID).fetchOne();comment.setId(commentsRecord.getId());return comment;}public void deleteComment(Integer commentId){dsl.deleteFrom(COMMENTS).where(COMMENTS.ID.equal(commentId)).execute();}private Post getPostEntity(Record r){Integer id r.getValue(POSTS.ID, Integer.class);String title r.getValue(POSTS.TITLE, String.class);String content r.getValue(POSTS.CONTENT, String.class);Timestamp createdOn r.getValue(POSTS.CREATED_ON, Timestamp.class);return new Post(id, title, content, createdOn);}private Comment getCommentEntity(Record r) {Integer id r.getValue(COMMENTS.ID, Integer.class);Integer postId r.getValue(COMMENTS.POST_ID, Integer.class);String name r.getValue(COMMENTS.NAME, String.class);String email r.getValue(COMMENTS.EMAIL, String.class);String content r.getValue(COMMENTS.CONTENT, String.class);Timestamp createdOn r.getValue(COMMENTS.CREATED_ON, Timestamp.class);return new Comment(id, postId, name, email, content, createdOn);} } 观察到我们正在将DSLContext实例自动连接到我们的Spring Bean中并使用它来构建TypeSafe查询。 步骤7创建入口点类和JUnit测试。 SpringBootApplication public class SpringbootJooqDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootJooqDemoApplication.class, args);} }RunWith(SpringJUnit4ClassRunner.class) SpringApplicationConfiguration(SpringbootJooqDemoApplication.class) public class SpringbootJooqDemoApplicationTests {Autowiredprivate BlogService blogService;Testpublic void findAllPosts() {ListPost posts blogService.getAllPosts();assertNotNull(posts);assertTrue(!posts.isEmpty());for (Post post : posts){System.err.println(post);}}Testpublic void findPostById() {Post post blogService.getPost(1);assertNotNull(post);System.out.println(post);ListComment comments post.getComments();System.out.println(comments);}Testpublic void createPost() {Post post new Post(0, My new Post, This is my new test post, new Timestamp(System.currentTimeMillis()));Post savedPost blogService.createPost(post);Post newPost blogService.getPost(savedPost.getId());assertEquals(My new Post, newPost.getTitle());assertEquals(This is my new test post, newPost.getContent());}Testpublic void createComment() {Integer postId 1;Comment comment new Comment(0, postId, User4, user4gmail.com, This is my new comment on post1, new Timestamp(System.currentTimeMillis()));Comment savedComment blogService.createComment(comment);Post post blogService.getPost(postId);ListComment comments post.getComments();assertNotNull(comments);for (Comment comm : comments){if(savedComment.getId() comm.getId()){assertEquals(User4, comm.getName());assertEquals(user4gmail.com, comm.getEmail());assertEquals(This is my new comment on post1, comm.getContent());}}}} 假设您已经使用H2概要文件生成了代码那么我们可以在不进行任何其他配置的情况下运行JUnit测试。 但是如果您已使用mysql配置文件生成了代码则必须在application.properties中配置以下属性。 spring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3306/test spring.datasource.usernameroot spring.datasource.passwordadminspring.jooq.sql-dialectMYSQL 请注意我们应该为数据库使用正确的SqlDialect 否则在运行时可能会遇到SQL语法错误。 您可以在我的Github存储库中找到本文的源代码 https://github.com/sivaprasadreddy/springboot-tutorials/tree/master/springboot-jooq-demo 有关JOOQ的更多信息请访问http://www.jooq.org/learn/ 翻译自: https://www.javacodegeeks.com/2016/03/springboot-working-jooq.htmljooq
http://www.pierceye.com/news/658254/

相关文章:

  • 为什么选php语言做网站重庆网站优化seo公司
  • 仿站侵权吗字体设计图片
  • 王建设医生个人网站智能网站搭建
  • 博物馆网站做的好的山东企业站点seo
  • 网站做视频怎么赚钱的平面设计公司哪家好
  • 合作建设网站协议php 个人网站 源码
  • 广州外贸营销型网站手机网站如何推广
  • 市总工会网站建设经验材料湖州建设局投标网站
  • ftp网站备份网上北京网站制作公司
  • ps海报模板素材免费怎样给网站做关键词优化
  • 做网站套餐wordpress 显示excel
  • 免费网站搭建临西做网站报价
  • 网站搭建详细步骤app应用网站html5模板下载
  • 苏州网站制作工作室宜宾网站开发公司
  • 哪些网站使用vue做的自己做服务器和网站
  • 怎样查看网站备案号自己录入数据做问卷的网站
  • 怎么提高网站的百度收录网页设计师考试报名
  • 北京网站建设公司联系方式常德网站建设专业品牌
  • 福州网站设计哪家做的好男科医院网站开发策划
  • 网站建设公司swot分析室内设计者联盟官网
  • 深圳手机商城网站设计游戏网站seo怎么做
  • 网站上传 文件夹结构国内响应式网站
  • 做logo图标的网站自助建站系统网站建设开发
  • 韩国站群服务器网络推广公司网站
  • 网站公司设计公司设计上海展会2021门票
  • 做微网站的公司哪家好刷百度关键词排名优化
  • php网站建设一流程胶南网站建设多少钱
  • 网站开发证书网站推广应该怎么做?
  • 网站规划与网页设计案例网站建设php招聘
  • 网站内容页优化阿里巴巴做网站么