springboot读mysql取文章_springboot学习-使用JdbcTemplate操作MySQL数据库

本文介绍了如何在SpringBoot项目中使用JdbcTemplate进行数据库的增删改查操作。首先,引入JdbcTemplate依赖并配置数据库连接信息,然后创建实体类和Controller。在Controller中,利用JdbcTemplate实现了查询、新增、更新和删除用户信息的功能,并通过Postman进行了测试,所有操作均成功完成。
摘要由CSDN通过智能技术生成

springboot系列文章点击阅读原文直达

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

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

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

user_info信息如下:

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');

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

第零步,引入JdbcTemplate的依赖包:

org.springframework.boot

spring-boot-starter-jdbc

mysql

mysql-connector-java

第一步,在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(){

}

}

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

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> getUserList(){

String sql = "select * from user_info";

List> 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 "删除出现错误";

}

}

测试上述代码,这里我们使用postman测试,非常方便:

查询测试:

68bfdf3476ef0c6acd06a67b23f67ce1.gif

新增测试:

68bfdf3476ef0c6acd06a67b23f67ce1.gif

更新测试:

68bfdf3476ef0c6acd06a67b23f67ce1.gif

删除测试:

68bfdf3476ef0c6acd06a67b23f67ce1.gif

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

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

68bfdf3476ef0c6acd06a67b23f67ce1.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值