当前位置: 首页 > news >正文

SpringBoot(八)之JdbcTemplate

SpringBoot(八)之JdbcTemplate

文章目录

    • SpringBoot(八)之JdbcTemplate
      • 1.添加依赖项:
      • 2. 配置数据库连接
      • 3.创建表信息
      • 4. 创建数据模型
      • 5. 创建 Repository
      • 6.测试,创建TestController

spring-boot-starter-jdbc 是 Spring Boot 提供的一个用于简化 JDBC 操作的启动器。使用这个启动器,你可以快速配置和使用 JDBC 进行数据库操作。以下是一个详细指南,介绍如何在 Spring Boot 项目中使用 spring-boot-starter-jdbc

1.添加依赖项:

pom.xml(如果使用 Maven)中添加以下依赖项:

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

2. 配置数据库连接

application.propertiesapplication.yml 文件中配置数据库连接信息。以下是 application.properties 的示例配置(以 MySQL 为例):

spring:datasource:username: rootpassword: rooturl: jdbc:mysql://192.168.56.102:3306/boot-test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTCdriver-class-name: com.mysql.cj.jdbc.Driver

3.创建表信息

CREATE TABLE `sys_user` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL,`age` int DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

4. 创建数据模型

定义你的实体类。例如,一个简单的用户实体类 SysUser

public class SysUser {private Integer id;private String name;private int age;// Getters and setters
}

5. 创建 Repository

使用 JdbcTemplate 进行数据库操作。首先,创建一个 UserRepository 类:

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;import java.util.List;@Repository
public class SysUserRepository {private final JdbcTemplate jdbcTemplate;@Autowiredpublic SysUserRepository(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}private final RowMapper<SysUser> rowMapper = (rs, rowNum) -> {SysUser user = new SysUser();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setAge(rs.getInt("age"));return user;};public List<SysUser> findAll(){return jdbcTemplate.query("SELECT * FROM SYS_USER",rowMapper);}public int save(SysUser user){return jdbcTemplate.update("INSERT INTO SYS_USER (name, age) VALUES (?, ?)",user.getName(),user.getAge());}//其他增删改查信息}

6.测试,创建TestController

@RestController
public class TestController {private final SysUserRepository sysUserRepository;@Autowiredpublic TestController(SysUserRepository sysUserRepository) {this.sysUserRepository = sysUserRepository;}@GetMapping("/getUsers")public List<SysUser> getAllUser(){return sysUserRepository.findAll();}@GetMapping("/addUser")public int addUser(@RequestParam("name") String name,@RequestParam("age") int age){SysUser sysUser = new SysUser();sysUser.setName(name);sysUser.setAge(age);return sysUserRepository.save(sysUser);}
}

启动项目,访问 http://localhost:8080/addUser?name=zhangsan&age=22http://localhost:8080/addUser?name=lisi&age=25新增zhangsan和lisi两个用户

再次访问http://localhost:8080/getUsers,观察返回

[{"id": 1,"name": "zhangsan","age": 22},{"id": 2,"name": "lisi","age": 25}
]
http://www.lryc.cn/news/352707.html

相关文章:

  • ClickHouse 24.4 版本发布说明
  • amtlib.dll打不开怎么办?一键修复丢失amtlib.dll方法
  • 【退役之重学Java】关于 volatile 关键字
  • “大数据建模、分析、挖掘技术应用研修班”的通知!
  • Uniapp自定义默认返回按钮回退页面
  • 音视频开发5 补充 - Nginx搭建rtmp流媒体服务器,目的是让ffmpeg 可以直播推流
  • 小猫咪的奇幻冒险:一个简单的Python小游戏
  • 专注于运动控制芯片、运动控制产品研发、生产与销售为一体的技术型芯片代理商、方案商——青牛科技
  • 【C++】继承(二)深入理解继承:派生类默认成员函数与友元、静态成员的奥秘
  • 【MATLAB源码-第214期】基于matlab的遗传算法GA最短路径路由优化算法仿真。
  • 数据结构(四)顺序栈 链式栈
  • 【linux】g++/gcc编译器
  • VBA批量合并带有图片、表格与文本框的Word
  • 市面上前 11 名的 Android 数据恢复软件
  • 【数据结构与算法 | 基础篇】数组模拟栈
  • css卡片横线100%宽度
  • 回溯大法总结
  • 基于Android Studio图书管理,图书借阅系统
  • SCSS 基本使用详解
  • 10.3.k8s的附加组件-图形化管理工具dashboard
  • 深入理解CPU缓存一致性
  • python获取安装路径盘符
  • CentOS 7.9安装NVIDIA P40显卡驱动、CUDA和cuDNN
  • SpringBoot多数据源启动出现循环依赖问题
  • 【一步一步了解Java系列】:何为数组,何为引用类型
  • 2024年5月份最新独角数卡使用USDT详细小白教程
  • 【idea】idea2024最新版本下载_安装_破解
  • 部署CNI网络组件+k8s多master集群部署+负载均衡
  • 一个和蔼可亲的Python库,用Gooey为你的程序添加GUI
  • java抽象类,接口,枚举练习题