我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot用JdbcTemplates操作Mysql实例代码详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot用JdbcTemplates操作Mysql实例代码详解

觉得有帮助或需要源码请点赞关注收藏后评论区留言或者私信

JDBC模板是Spring对数据库的操作再JDBC基础上做了封装,建立了一个JDBC存取框架,在Spring Boot应用中,如果使用JdbcTemplate操作数据库,那么只需要在pom.xml文件中添加spring-boot-starter-jdbc模块,即可通过@Autowired注解依赖注入JdbcTemplate对象,然后调用JdbcTemplate提供的方法操作数据库

下面通过实例讲解如何在Spring Boot应用中使用JdbcTemplate操作数据库

1、创建Spring Boot Web应用

此处不再赘述 详情可参考我这篇构建Spring Boot应用

2、修改pom.xml文件

在文件中添加MYSQL连接器和spring-boot-starter-jdbc模块 具体代码如下

<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
-<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>com.ch</groupId>
<artifactId>ch6_5</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ch6_5</name>
<description>Demo project for Spring Boot</description>
-<properties>
<java.version>11</java.version>
</properties>
-<dependencies>
-<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 添加MySQL依赖 -->
-<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
<!-- MySQL8.x时,请使用8.x的连接器 -->
</dependency>
<!-- 添加jdbc依赖 -->
-<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
-<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
-<build>
-<plugins>
-<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

3、设置Web应用的上下文路径以及数据源配置信息

在application.properties文件中配置如下内容

server.servlet.context-path=/ch6_5
###
##数据源信息配置
###
#数据库地址
spring.datasource.url=jdbc:mysql://localhost:3306/springbootjpa?characterEncoding=utf8
#数据库MySQL为8.x时,url为jdbc:mysql://localhost:3306/springbootjpa?useSSL=false&serverTimezone=Asia/Beijing&characterEncoding=utf-8
#数据库用户名
spring.datasource.username=root
#数据库密码
spring.datasource.password=root
#数据库驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#数据库MySQL为8.x时,驱动类为com.mysql.cj.jdbc.Driver
spring.jackson.serialization.indent-output=true  
#让控制器输出的JSON字符串格式更美观

4、创建实体类

创建名为com.ch.ch6_5.entity的包 并在该包中出啊关键MyUser实体类 代码如下

package com.ch.ch6_5.entity;
public class MyUser {
	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;
	}
}

5、创建数据访问层

创建名为com.ch.ch6_5.repository的包 并创建接口和其实现类

接口代码如下

package com.ch.ch6_5.repository;
import java.util.List;
import com.ch.ch6_5.entity.MyUser;
public interface MyUserRepository {
	public int saveUser(MyUser myUser);
	public int deleteUser(Integer id);
	public int updateUser(MyUser myUser);
	public List<MyUser> findAll();
	public MyUser findUserById(Integer id);
}

实现类代码如下

package com.ch.ch6_5.repository;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.ch.ch6_5.entity.MyUser;
@Repository
public class MyUserRepositoryImpl implements MyUserRepository{
	@Autowired
	private JdbcTemplate jdbcTemplate;
	@Override
	public int saveUser(MyUser myUser) {
		String sql = "insert into user (username, password) values (?,?)";
		Object args[] = {
				myUser.getUsername(),
				myUser.getPassword()
		};
		return jdbcTemplate.update(sql, args);
	}
	@Override
	public int deleteUser(Integer id) {
		String sql = "delete from user where id = ? ";
		Object args[] = {
				id
		};
		return jdbcTemplate.update(sql, args);
	}
	@Override
	public int updateUser(MyUser myUser) {
		String sql = "update user set username = ?, password = ? where id = ? ";
		Object args[] = {
				myUser.getUsername(),
				myUser.getPassword(),
				myUser.getId()
		};
		return jdbcTemplate.update(sql, args);

6、创建业务层

创建名为com.ch.ch6_5.service的包 并创建接口和实现类

接口代码如下

package com.ch.ch6_5.service;
import java.util.List;
import com.ch.ch6_5.entity.MyUser;
public interface MyUserService {
	public int saveUser(MyUser myUser);
	public int deleteUser(Integer id);
	public int updateUser(MyUser myUser);
	public List<MyUser> findAll();
	public MyUser findUserById(Integer id);
}

实现类代码如下

package com.ch.ch6_5.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ch.ch6_5.entity.MyUser;
import com.ch.ch6_5.repository.MyUserRepository;
@Service
public class MyUserServiceImpl implements MyUserService{
	@Autowired
	private MyUserRepository myUserRepository;
	@Override
	public int saveUser(MyUser myUser) {
 
	public List<MyUser> findAll() {
		return myUserRepository.findAll();
	}
	@Override
	public MyUser findUserById(Integer id) {
		return myUserRepository.findUserById(id);
	}
}

7、创建控制器类

创建名为com.ch.ch6_5.controller的包 并创建MyUserController控制器类

代码如下

package com.ch.ch6_5.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
im
	public int updateUser(MyUser myUser) {
		return myUserService.updateUser(myUser);
	}
	@RequestMapping("/findAll")
	public List<MyUser> findAll(){
		return myUserService.findAll();
	}
	@RequestMapping("/findUserById")
	public MyUser findUserById(Integer id) {
		return myUserService.findUserById(id);
	}
}

接下来运行Ch65Application主类然后访问http://localhost:8080/ch6_5即可

到此这篇关于SpringBoot用JdbcTemplates操作Mysql实例代码详解的文章就介绍到这了,更多相关JdbcTemplates操作Mysql内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot用JdbcTemplates操作Mysql实例代码详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot用JdbcTemplates操作Mysql实例代码详解

JdbcTemplate是Spring框架自带的对JDBC操作的封装,目的是提供统一的模板方法使对数据库的操作更加方便、友好,效率也不错,这篇文章主要介绍了SpringBoot用JdbcTemplates操作Mysql
2022-11-13

SpringBoot用JdbcTemplates访问Mysql实例代码

本文介绍springboot通过jdbc访问关系型MySQL,通过spring的JdbcTemplate去访问。准备工作 jdk 1.8 maven 3.0 idea mysql初始化mysql:-- create table `a
2023-05-31

SpringBoot Tomcat启动实例代码详解

废话不多了,具体内容如下所示:Application configuration class:@SpringBootApplicationpublic class ServletInitializer extends SpringBootS
2023-05-31

Python 操作MySQL详解及实例

Python 操作MySQL详解及实例 使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和SQLAlchemy。 Python-MySQL资格最老,核心由C语言打造,
2022-06-04

MySQL 去重实例操作详解

目录前言1.创建测试数据2.distinct 使用2.1 单列去重2.2 多列去重2.3 聚合函数+去重3.group by 使用3.1 单列去重3.2 多列去重3.3 聚合函数 + group by4.distinct 和 group b
2022-07-18

Python操作使用MySQL数据库的实例代码

Python 操作 MySQL配置win_64Ubuntu14.04Python3.xpip安装pymysql模块 直接使用pip安装 pip install pymysqlwin64上直接在cmd中执行 连接本地数据库 使用模块pymys
2022-06-04

node操作mysql数据库实例详解

本文实例讲述了node操作mysql数据库的方法。分享给大家供大家参考,具体如下: 1、建立数据库连接:createConnection(Object)方法 该方法接受一个对象作为参数,该对象有四个常用的属性host,user,passwo
2022-06-04

SpringBoot中操作使用Redis实现详解

SpringBoot与Redis结合使用,通过使用SpringDataRedis来实现对Redis的操作,实现数据缓存和高效存储,提高应用程序的性能和响应速度。可以利用SpringBoot自带的RedisStarter方便地集成和配置Redis
2023-05-16

Node.JS使用Sequelize操作MySQL的示例代码

Node.JS提供了操作数据库的基础接口,我们可以通过mysql模块的query方法进行操作,但是需要编写SQL语句,对于SQL语句并不精通的人来说有一定的难度,而且在代码中保留SQL语句也有一定的危险性。为了方便进行数据库操作,ORM框架
2022-06-04

SpringBoot项目使用mybatis-plus代码生成的实例详解

mybatis-plus是mybatis的增强,不对mybatis做任何改变,涵盖了代码生成,自定义ID生成器,快速实现CRUD,自动分页,逻辑删除等功能。本文就来讲讲SpringBoot项目如何使用mybatis-plus实现代码生成,需要的可以了解一下
2022-11-13

MySQL select、insert、update批量操作语句代码实例

项目中经常的需要使用批量操作语句对数据进行操作,使用批量语句的时候需要注意MySQL数据库的条件限制,这里主要是数据的大小限制,这里对批量插入、批量查找及批量更新的基础操作进行下简单的汇总。 1、批量insert插入语句,如下的语句在测试环
2022-05-30

详解SpringBoot缓存的实例代码(EhCache 2.x 篇)

本篇介绍了SpringBoot 缓存(EhCache 2.x 篇),分享给大家,具体如下:SpringBoot 缓存在 spring Boot中,通过@EnableCaching注解自动化配置合适的缓存管理器(CacheManager),S
2023-05-31

使用Python对Csv文件操作实例代码

csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:就可以存储为csv文件,文件内容是:No.,Name,Age,Score 1,mayi,18,99 2,jack,21,89 3,t
2022-06-04

MySQL实现数据插入操作的示例详解

目录一、方法分类二、具体方法三、实例(1)常规插入(2)从另一个表导入(3)插入时数据重复四、注意事项(1)不写字段名,需要填充自增ID(2)按字段名填充,可以不录入id其余注意事项使用mysql插入数据时,可以根据需求场景选择合适的插入语
2023-02-21

Python heapq使用详解及实例代码

Python heapq 详解 Python有一个内置的模块,heapq标准的封装了最小堆的算法实现。下面看两个不错的应用。 小顶堆(求TopK大) 话说需求是这样的: 定长的序列,求出TopK大的数据。import heapq impor
2022-06-04

编程热搜

目录