美文网首页Spring中文网我爱编程
SpringBoot整合JDBC数据库操作第三弹-实现增加数据操

SpringBoot整合JDBC数据库操作第三弹-实现增加数据操

作者: qianmoQ | 来源:发表于2018-06-21 10:59 被阅读27次

    上篇文章我们讲到了如何配置服务的DataSource数据库数据源,方便其对数据库进行操作.这篇文章主要讲解一下我们使用整合的JDBC进行简单的数据增加操作.

    • 创建用于做测试数据的模拟数据表

      USE test;
      
      CREATE TABLE article (
        id          INT(10) AUTO_INCREMENT,
        title       VARCHAR(100) NOT NULL,
        description VARCHAR(200),
        PRIMARY KEY (id)
      );
      
    • 创建数据表对应实体类(在源码目录下新建bean文件夹, 并在该文件夹下创建相应的Article类文件)

      /**
       * Licensed to the Apache Software Foundation (ASF) under one
       * or more contributor license agreements.  See the NOTICE file
       * distributed with this work for additional information
       * regarding copyright ownership.  The ASF licenses this file
       * to you under the Apache License, Version 2.0 (the
       * "License"); you may not use this file except in compliance
       * with the License.  You may obtain a copy of the License at
       * <p>
       * http://www.apache.org/licenses/LICENSE-2.0
       * <p>
       * Unless required by applicable law or agreed to in writing, software
       * distributed under the License is distributed on an "AS IS" BASIS,
       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       * See the License for the specific language governing permissions and
       * limitations under the License.
       */
      package com.edurt.bean;
       
      /**
       * Article <br/>
       * 描述 : Article <br/>
       * 作者 : qianmoQ <br/>
       * 版本 : 1.0 <br/>
       * 创建时间 : 2018-03-26 下午4:51 <br/>
       * 联系作者 : <a href="mailTo:shichengoooo@163.com">qianmoQ</a>
       */
      public class Article {
       
          private Integer id;
          private String title;
          private String description;
       
          public Integer getId() {
              return id;
          }
       
          public void setId(Integer id) {
              this.id = id;
          }
       
          public String getTitle() {
              return title;
          }
       
          public void setTitle(String title) {
              this.title = title;
          }
       
          public String getDescription() {
              return description;
          }
       
          public void setDescription(String description) {
              this.description = description;
          }
       
          @Override
          public String toString() {
              return "Article{" +
                      "id=" + id +
                      ", title='" + title + '\'' +
                      ", description='" + description + '\'' +
                      '}';
          }
       
      }
      
    • 创建数据表底层数据库操作Repository(在源码目录下创建repository文件夹, 并在该目录下创建ArticleRepository类文件)

      /**
       * Licensed to the Apache Software Foundation (ASF) under one
       * or more contributor license agreements.  See the NOTICE file
       * distributed with this work for additional information
       * regarding copyright ownership.  The ASF licenses this file
       * to you under the Apache License, Version 2.0 (the
       * "License"); you may not use this file except in compliance
       * with the License.  You may obtain a copy of the License at
       * <p>
       * http://www.apache.org/licenses/LICENSE-2.0
       * <p>
       * Unless required by applicable law or agreed to in writing, software
       * distributed under the License is distributed on an "AS IS" BASIS,
       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       * See the License for the specific language governing permissions and
       * limitations under the License.
       */
      package com.edurt.repository;
       
      import com.edurt.bean.Article;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.jdbc.core.JdbcTemplate;
      import org.springframework.stereotype.Component;
       
      /**
       * ArticleRepository <br/>
       * 描述 : ArticleRepository <br/>
       * 作者 : qianmoQ <br/>
       * 版本 : 1.0 <br/>
       * 创建时间 : 2018-03-26 下午4:54 <br/>
       * 联系作者 : <a href="mailTo:shichengoooo@163.com">qianmoQ</a>
       */
      @Component
      public class ArticleRepository {
       
          @Autowired
          private JdbcTemplate jdbcTemplate; // 引入数据库操作模型
       
          /**
           * 创建文章信息
           *
           * @param article 文章信息
           */
          public void createArticle(Article article) {
              String sql = "INSERT INTO article(title, description) VALUES(?, ?)";
              jdbcTemplate.update(sql, article.getTitle(), article.getDescription());
          }
       
      }
      
    • 创建数据库业务层Service (在源码目录下创建service文件夹, 并在该目录下创建ArticleService)

      package com.edurt.service;
      
      import com.edurt.bean.Article;
       
      public interface ArticleService {
       
          void createArticle(Article article);
       
      }
      
    • 创建接口实现ArticleServiceImpl类文件

      /**
       * Licensed to the Apache Software Foundation (ASF) under one
       * or more contributor license agreements.  See the NOTICE file
       * distributed with this work for additional information
       * regarding copyright ownership.  The ASF licenses this file
       * to you under the Apache License, Version 2.0 (the
       * "License"); you may not use this file except in compliance
       * with the License.  You may obtain a copy of the License at
       * <p>
       * http://www.apache.org/licenses/LICENSE-2.0
       * <p>
       * Unless required by applicable law or agreed to in writing, software
       * distributed under the License is distributed on an "AS IS" BASIS,
       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       * See the License for the specific language governing permissions and
       * limitations under the License.
       */
      package com.edurt.service;
       
      import com.edurt.bean.Article;
      import com.edurt.repository.ArticleRepository;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Service;
       
      /**
       * ArticleServiceImpl <br/>
       * 描述 : ArticleServiceImpl <br/>
       * 作者 : qianmoQ <br/>
       * 版本 : 1.0 <br/>
       * 创建时间 : 2018-03-26 下午5:01 <br/>
       * 联系作者 : <a href="mailTo:shichengoooo@163.com">qianmoQ</a>
       */
      @Service(value = "articleService")
      public class ArticleServiceImpl implements ArticleService {
       
          @Autowired
          private ArticleRepository articleRepository;
       
          @Override
          public void createArticle(Article article) {
              articleRepository.createArticle(article);
          }
       
      }
      
    • 创建API接口层Controller (在源码目录下创建controller文件夹, 并在该目录下创建ArticleController类文件)

      /**
       * Licensed to the Apache Software Foundation (ASF) under one
       * or more contributor license agreements.  See the NOTICE file
       * distributed with this work for additional information
       * regarding copyright ownership.  The ASF licenses this file
       * to you under the Apache License, Version 2.0 (the
       * "License"); you may not use this file except in compliance
       * with the License.  You may obtain a copy of the License at
       * <p>
       * http://www.apache.org/licenses/LICENSE-2.0
       * <p>
       * Unless required by applicable law or agreed to in writing, software
       * distributed under the License is distributed on an "AS IS" BASIS,
       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       * See the License for the specific language governing permissions and
       * limitations under the License.
       */
      package com.edurt.controller;
       
      import com.edurt.bean.Article;
      import com.edurt.service.ArticleService;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.web.bind.annotation.RequestBody;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RequestMethod;
      import org.springframework.web.bind.annotation.RestController;
       
      /**
       * ArticleController <br/>
       * 描述 : ArticleController <br/>
       * 作者 : qianmoQ <br/>
       * 版本 : 1.0 <br/>
       * 创建时间 : 2018-03-26 下午5:08 <br/>
       * 联系作者 : <a href="mailTo:shichengoooo@163.com">qianmoQ</a>
       */
      @RestController
      @RequestMapping(value = "article")
      public class ArticleController {
       
          @Autowired
          private ArticleService articleService;
       
          @RequestMapping(value = "create", method = RequestMethod.POST)
          String create(@RequestBody Article article) {
              articleService.createArticle(article);
              return "SUCCESS";
          }
       
      }
      
    • 使用RestAPI测试工具测试添加数据我用的是PostMan软件

      image
    • 查看数据表是否已经写入该数据

      image

    相关文章

      网友评论

        本文标题:SpringBoot整合JDBC数据库操作第三弹-实现增加数据操

        本文链接:https://www.haomeiwen.com/subject/bhrqyftx.html