springboot使用JdbcTemplate完成对数据库的增删改查功能

首先新建一个简单的数据表,通过操作这个数据表来进行演示

DROP TABLE IF EXISTS `items`;
CREATE TABLE `items` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `title` varchar(255) DEFAULT NULL,
 `name` varchar(10) DEFAULT NULL,
 `detail` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; 

引入JdbcTemplate的maven依赖及连接类

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <scope>runtime</scope>
</dependency> 

在application.properties文件配置mysql的驱动类,数据库地址,数据库账号、密码信息,application.properties新建在src/main/resource文件夹下

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring?useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
server.port=8080
server.session.timeout=10
server.tomcat.uri-encoding=UTF-8 

新建一个实体类,属性对应sql字段

package org.amuxia.start;
public class Items {
 private Integer id;
 private String title;
 private String name;
 private String detail;
 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 getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getDetail() {
  return detail;
 }
 public void setDetail(String detail) {
  this.detail = detail;
 }
 public Items() {
  super();
  // TODO Auto-generated constructor stub
 }
 public Items(Integer id, String title, String name, String detail) {
  super();
  this.id = id;
  this.title = title;
  this.name = name;
  this.detail = detail;
 }
 @Override
 public String toString() {
  return "Items [id=" + id + ", title=" + title + ", name=" + name + ", detail=" + detail + "]";
 }
} 

新增操作

/**
  * 新增数据
  * @param items
  * @return
  */
 @RequestMapping("/add")
 public @ResponseBody String addItems(Items items) {
  String sql = "insert into items (id,title,name,detail) value (?,?,?,?)";
  Object args[] = {items.getId(),items.getTitle(),items.getName(),items.getDetail()};
  int temp = jdbcTemplate.update(sql, args);
  if(temp > 0) {
   return "文章新增成功";
  }
  return "新增出现错误";
 } 

我们做一个测试。在postman测试工具中输入http://localhost:8080/items/add

我们可以看到,新增已经成功了,确实很方便,也没有繁琐的配置信息。

其余删除,更新操作与新增代码不变,只是sql的变化,这里不做演示。

全部查询操作

/**
  * @return
  * 查询全部信息
  */
 @RequestMapping("/list")
 public List<Map<String, Object>> itemsList() {
  String sql = "select * from items";
  List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
  return list;
 } 

我们做一个测试。在postman测试工具中输入http://localhost:8080/items/list

我们看到,包括刚才新增的数据,都已经被查出来了。

这里为了学习一下springboot的JdbcTemplate操作,所有增删改查代码都写在ItemsController类中,也方便演示,这里把代码贴出来,需要的可以运行一下

package org.amuxia.start;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@ComponentScan
@RestController
@RequestMapping("/items")
public class ItemsController {
 @Autowired
 private JdbcTemplate jdbcTemplate;
 /**
  * @return
  * 查询全部信息
  */
 @RequestMapping("/list")
 public List<Map<String, Object>> itemsList() {
  String sql = "select * from items";
  List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
  return list;
 }
 /**
  * @param id
  * @return
  * 根据ID查询单条信息
  */
 @RequestMapping("/detail/{id}")
 public Map<String, Object> detail(@PathVariable int id) {
  Map<String, Object> map = null;
  List<Map<String, Object>> list = itemsList();
  map = list.get(id);
  return map;
 }
 /**
  * 新增数据
  * @param items
  * @return
  */
 @RequestMapping("/add")
 public @ResponseBody String addItems(Items items) {
  String sql = "insert into items (id,title,name,detail) value (?,?,?,?)";
  Object args[] = {items.getId(),items.getTitle(),items.getName(),items.getDetail()};
  int temp = jdbcTemplate.update(sql, args);
  if(temp > 0) {
   return "文章新增成功";
  }
  return "新增出现错误";
 }
 /**
  * @param items
  * @return
  * 删除数据
  */
 @RequestMapping("/del")
 public @ResponseBody String delItems(Items items) {
  String sql = "delete from items where id = ?";
  Object args[] = {items.getId()};
  int temp = jdbcTemplate.update(sql, args);
  if(temp > 0) {
   return "文章删除成功";
  }
  return "删除出现错误";
 }
 /**
  * @param items
  * @return
  * 更新操作
  */
 @RequestMapping("/upd")
 public @ResponseBody String updItems(Items items) {
  String sql = "update items set title = ?,detail = ? where id = ?";
  Object args[] = {items.getTitle(),items.getDetail(),items.getId()};
  int temp = jdbcTemplate.update(sql, args);
  if(temp > 0) {
   return "文章修改成功";
  }
  return "修改出现错误";
 }
} 

这里解释一个注解

@ComponentScan:

@ComponentScan告诉Spring 哪个注解标识的类会被spring自动扫描并且装入bean容器。如果你有个类用@Controller注解标识了,那么,如果不加上@ComponentScan自动扫描该controller,那么该Controller就不会被spring扫描到,更不会装入spring容器中,Controller就不会起作用。

启动类代码

package org.amuxia.start;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class App
{
 public static void main( String[] args )
 {
  System.out.println( "start....." );
  SpringApplication.run(ItemsController.class, args);
 }
} 

总结

以上所述是小编给大家介绍的springboot使用JdbcTemplate完成对数据库的增删改查功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • 浅析Spring的JdbcTemplate方法
  • Spring Boot中使用jdbctemplate 操作MYSQL数据库实例
  • 详解spring boot中使用JdbcTemplate
  • SpringBoot用JdbcTemplates访问Mysql实例代码
  • spring使用RedisTemplate的操作类访问Redis
  • spring整合redis以及使用RedisTemplate的方法
  • 基于spring boot 1.5.4 集成 jpa+hibernate+jdbcTemplate(详解)
  • Spring IO Platform简单介绍
(0)

相关推荐

  • spring整合redis以及使用RedisTemplate的方法

    需要的jar包 spring-data-Redis-1.6.2.RELEASE.jar jedis-2.7.2.jar(依赖 commons-pool2-2.3.jar) commons-pool2-2.3.jar spring-redis.xml 配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/sc

  • 浅析Spring的JdbcTemplate方法

    spring对于数据访问层提供了多种的模板技术.如果直接使用JDBC,那么可以选择JdbcTemplate.如果使用的是对象关系映射框架,使用hibernate应该使用HibernateTemplate模板,使用JPA则应该使用JpaTemplate. 除此之外,Spring框架为每一项的持久层技术都提供了相应的帮助类来简化操作.对于Jdbc提供了JdbcDaoSupport类.对于Hibernate技术提供了HibernateDaoSupport类.对于MyBatis提供了SqlMapClie

  • Spring Boot中使用jdbctemplate 操作MYSQL数据库实例

    最近在学习使用Spring Boot连接数据库,今天学习了使用jdbctemplate 操作MYSQL数据库,下面就留个笔记 不废话,先来代码 pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org

  • 详解spring boot中使用JdbcTemplate

    本文将介绍如何将spring boot 与 JdbcTemplate一起工作. Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中. JdbcTemplate 是在JDBC API基础上提供了更抽象的封装,并提供了基于方法注解的事务管理能力. 通过使用SpringBoot自动配置功能并代替我们自动配置beans. 数据源配置 在maven中,我们需要增加spring-boot-starter-jdbc

  • SpringBoot用JdbcTemplates访问Mysql实例代码

    本文介绍springboot通过jdbc访问关系型MySQL,通过spring的JdbcTemplate去访问. 准备工作 jdk 1.8 maven 3.0 idea mysql 初始化mysql: -- create table `account` DROP TABLE `account` IF EXISTS CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL,

  • 基于spring boot 1.5.4 集成 jpa+hibernate+jdbcTemplate(详解)

    1.pom添加依赖 <!-- spring data jpa,会注入tomcat jdbc pool/hibernate等 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <

  • Spring IO Platform简单介绍

    Spring IO Platform框架简单来说就是一个版本号兼容系统,它将常用第三方类库的兼容的版本组织起来.只要我们在项目中引用了Spring IO Platform,就不需要为这些第三方类库设置版本号了,Spring IO Platform会自动帮我们设置所有兼容的版本号.本文参考自官方文档,如果需要查阅详细信息,请直接看原文即可. 引入类库 使用Maven 使用Maven的话,在pom.xml中修改为类似这样的. <?xml version="1.0" encoding=

  • spring使用RedisTemplate的操作类访问Redis

    事务需要开启enableTransactionSupport,然后使用@transactional注解,里面直接通过回调的connection,就不需要自己进行multi和exec的事务开启提交了.但是通过回调去获取connection,完全没有达到一个模版类的功能.所以这篇我们会讲下几种Operations接口提供的方法. private ValueOperations<K, V> valueOps; private ListOperations<K, V> listOps; p

  • springboot使用JdbcTemplate完成对数据库的增删改查功能

    首先新建一个简单的数据表,通过操作这个数据表来进行演示 DROP TABLE IF EXISTS `items`; CREATE TABLE `items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `name` varchar(10) DEFAULT NULL, `detail` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE

  • SpringBoot+MySQL+Jpa实现对数据库的增删改查和分页详解

    一. 使用Springboot+Jpa实现对mysql数据库的增删改查和分页功能 JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 使用Springboot和jpa对数据库进行操作时,能够大大减少我们的工作量,在jpa中,已经在底层封装好了增删查的功能和sql语句,可以使我们进行快速开发 二.项目过程和配置文件 1.applaction.properties文件配置

  • SpringBoot+Vue+Axios+BootStrap实现图书的增删改查功能示例

    目录 一.开发工具 二.项目结构 三.编写项目 四.运行项目 由于是初学Vue.Axios,可能在界面和功能上存在着一些问题,但这些并不妨碍使用.如果有对编程感兴趣的朋友,可以试着做一做.这个由于是第一次做,不太熟练.在后续的过程中会不断的完善. 一.开发工具 IntelliJ IDEA Ultimate 2021.1 apache-maven-3.5.4 MySQL5.7 JDK 1.8.0_281 二.项目结构 三.编写项目 1.创建数据库 SET NAMES utf8mb4; SET FO

  • Node如何后台数据库使用增删改查功能

    这篇文章主要介绍了Node如何后台数据库使用增删改查功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 无论node还是java增删改查都是一样的原理,变得是配合框架使用时候有简便方法而已. 优化:为了维护方便这里我们把sql语句提出来放在一个对象里面,只有要改变的参数放在请求接口的router里面 首先在routes文件夹里面创建userSql.js,在里面创建一个对象,再导出 var SQL = { inset:{// 增 actorIn:

  • JDBC实现数据库增删改查功能

    JDBC,简单点来说,就是用Java操作数据库,下面简单介绍怎么实现数据库的增删改查功能. 1.添加数据 package cn.itcast.jdbc; import java.sql.*; public class JdbcDemo2 { public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; try { //1.注册驱动

  • 使用SpringBoot开发Restful服务实现增删改查功能

    在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练.不过在看了很多关于SpringBoot的介绍之后,并没有想象中的那么难,于是开始准备学习SpringBoot. 在闲暇之余的时候,看了下SpringBoot实战以及一些大神关于SpringBoot的博客之后,开始写起了我的第一个SpringBoot的项目.在能够对SpringBoot进行一些简单的开发Re

  • Spring框架+jdbcTemplate实现增删改查功能

    SpringMVC架构(Model(实体类),Service,Controller层) Controller(接收参数调用业务层)–>Service(调用持久层,处理业务逻辑)–>Dao(与数据库交互) 1. IOC(控制反转是一种设计思想而不是技术) DI(依赖注入):是IOC思想的一种技术实现 IOC容器是Spring提供的保存Bean对象的容器 Bean管理操作 1.Xml + 注解 2.javaConfig + 注解 通过xml配置Bean:TODO: 通过javaConfig 配置B

  • SpringBoot整合MybatisPlus实现增删改查功能

    目录 1.概述 2.引入依赖 3.配置连接信息 4.新建两个表 5.在项目中创建相应的实体类 5.1 创建基础实体类 5.2 SysDictType实体类 5.3 SysDictData实体类 6.创建DAO继承MybatisPlus增强接口 6.1 SysDictTypeMapper 6.2 SysDictDataMapper 7.进一步封装到Service层 7.1 定义Service接口中的抽象方法 7.2 实现Service接口中的方法 8.在控制层上进行增删改查操作 8.1 SysDi

  • SpringBoot整合Mybatis与thymleft实现增删改查功能详解

    首先我们先创建项目 注意:创建SpringBoot项目时一定要联网不然会报错 项目创建好后我们首先对 application.yml 进行编译 #指定端口号server: port: 8888#配置mysql数据源spring:  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://localhost:3306/nba?serverTimezone=Asia/Shanghai    use

  • java jdbc连接mysql数据库实现增删改查操作

    jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的时候才能更好的去理解这些成熟的框架是如何去实现增删改查

随机推荐