springboot 整合jdbc
在springboot底层无论关系型还是非关系型数据库都是用spring-data进行交互
新建:
通过spring initialer勾选重要依赖jdbc api和mysql driver:
源码分析-设置数据源配置:
通过源码可以看到我们一个通过spring.datasource.xxx来设置我们的yaml配置文件
同时我们可以观察到默认数据源是:
整合案例一:
1.yaml文件:
2.在controller层增删改查:
思考:在没有创建pojo实体类情况下,怎么才能获取数据库表信息并操作之?
答案:map
代码

package com.lian.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; @RestController//@RestController=@Controller+@ResponseBody public class JDBCController { @Autowired JdbcTemplate jdbcTemplate; @RequestMapping("/userlist") public List<Map<String,Object>> list(){ String sql="select * from user"; List<Map<String,Object>> mapList=jdbcTemplate.queryForList(sql); return mapList; } @RequestMapping("/useradd") public String add(){ String sql="insert into user (id, name, pwd) VALUES (11,'消息','dddadd')"; jdbcTemplate.update(sql); return "add-ok"; } @RequestMapping("/userdel/{id}") public String del(@PathVariable("id") int id){ String sql="delete from user where id="+id; jdbcTemplate.update(sql); return "del-ok"; } @RequestMapping("/userupdate/{id}") public String update(@PathVariable("id") int id){ String sql="update user set name=?,pwd=? where id="+id; Object[] objects=new Object[2]; objects[0]="小明"; objects[1]="skdncc"; jdbcTemplate.update(sql,objects); return "update-ok"; } }
总结:
在springboot整合jdbc思路:
1.在创建项目时勾选两个依赖包:Mysql.driver和JDBC.API
2.在配置文件application.properties或者application.yaml配置连接数据库的4要素:
url,username,password,driver-class-name,注意这4要素都在spring.datasource下
3.在controller层调用jdbc模板类 JdbcTemplate 的方法:查询是queryForList,增删改是update方法
分类:
SpringBoot
标签:
springboot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!