上一篇文章中我们,完成了对数据的增删改查,这一篇我们学习使用来实现同样的操作。

是框架自带的对JDBC操作的封装,目的是提供统一的模板方法使对数据库的操作更加方便、友好,效率也不错。但是功能还是不够强大jdbc连接数据库,在实际应用中通常和、等框架混合使用。

新建一个MySQL数据库,这里数据库名为,建立数据表,作为我们示例操作的表对象。

信息如下:

DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(255) DEFAULT NULL,
 `password` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user_info
-- ----------------------------
INSERT INTO `user_info` VALUES ('1', 'Java之音', '12345');
INSERT INTO `user_info` VALUES ('2', '张无忌', '123');

数据库及表创建成功后,回到我们的工程中

第零步,引入的依赖包:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
</dependency>

第一步,在yml配置文件中配置数据库连接信息:

spring:
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false
   username: root
   password: 1011

第二步,创建一个实体类:

package com.javazhiyin;


/**
* Created by 57783 on 2018/7/4.
*/

public class UserInfo {

   private Integer id;

   private String username;

   private String password;

   public Integer getId() {
       return id;
   }

   public void setId(Integer id) {
       this.id = id;
   }

   public String getUsername() {
       return username;
   }

   public void setUsername(String username) {
       this.username = username;
   }

   public String getPassword() {
       return password;
   }

   public void setPassword(String password) {
       this.password = password;
   }

   public UserInfo(){

   }
}

第三步,新建一个,实现对数据库的增删改查操作:

package com.javazhiyin;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;
import java.util.Map;

/**
* Created by 57783 on 2018/7/4.
*/

@RestController
public class UserInfoController {

   @Autowired
   private JdbcTemplate jdbcTemplate;

   /**
    * 查
    * @return
    */

   @GetMapping(value = "/list")
   public List<Map<String, Object>> getUserList(){
       String sql = "select * from user_info";
       List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
       return list;
   }

   /**
    * 增
    * @param username
    * @param password
    * @return
    */

   @PostMapping(value = "/addUser")
   public String addUser(@RequestParam("username") String username,
                           @RequestParam("password") String password){

       String sql = "insert into user_info (username,password) value (?,?)";
       Object args[] = {username,password};
       int temp = jdbcTemplate.update(sql, args);

       if(temp > 0) {
           return "新增成功";
       }
       return "新增失败";
   }

   /**
    * 改
    * @param id
    * @param username
    * @param password
    * @return
    */

   @PutMapping(value = "updUser/{id}")
   public UserInfo updUser(@PathVariable("id") Integer id,
                       @RequestParam("username") String username,
                       @RequestParam("password") String password){

       String sql = "update user_info set username = ?,password = ? where id = ?";
       Object args[] = {username,password,id};
       int temp = jdbcTemplate.update(sql, args);
       UserInfo user = new UserInfo();
       if(temp > 0) {
           user.setId(id);
           user.setUsername(username);
           user.setPassword(password);
           return user;
       }
       return user;

   }

   /**
    * 删
    * @param id
    */

   @DeleteMapping(value = "delUser/{id}")
   public String delUser(@PathVariable("id") Integer id){
       UserInfo user = new UserInfo();
       user.setId(id);
       String sql = "delete from user_info where id = ?";
       Object args[] = {id};
       int temp = jdbcTemplate.update(sql, args);
       if(temp > 0) {
           return "删除成功";
       }
       return "删除出现错误";

   }

}

测试上述代码jdbc连接数据库,这里我们使用测试,非常方便:

查询测试:

新增测试:

更新测试:

删除测试:

我们可以看到可以全部测试通过,完成了使用进行增删改查的操作。

关注后端技术精选,提供优质价值阅读


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注