热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springboot整合JDBC使用

上周回顾SpringBoot是什么?微服务HelloWorld~探究源码自动装配原理配置yaml多文档环境切换静态资源映射Thymeleafth:xxxSpringBoot如何扩

上周回顾


  • SpringBoot是什么?
  • 微服务
  • HelloWorld~
  • 探究源码
  • 自动装配原理
  • 配置yaml
  • 多文档环境切换静态资源映射
  • Thymeleaf th:xxx
  • SpringBoot如何扩展MVCjavaconfig
  • 如何修改SpringBoot的默认配置~
  • CRUD
  • 国际化
  • 拦截器
  • 定制首页,错误页~

这周


  • JDBC
  • Mybatis :重点
  • Druid :重点
  • Shiro :安全:重点
  • Spring Security :安全∶重点
  • 异步任务~,邮件发送,定时任务()
  • Swagger
  • Dubbo +Zookeeper

JDBCTemplate

1、有了数据源(com.zaxxer.hikari.HikariDataSource),然后可以拿到数据库连接(java.sql.Connection),有了连接,就可以使用原生的 JDBC 语句来操作数据库;

2、即使不使用第三方第数据库操作框架,如 MyBatis等,Spring 本身也对原生的JDBC 做了轻量级的封装,即JdbcTemplate。

3、数据库操作的所有 CRUD 方法都在 JdbcTemplate 中。

4、Spring Boot 不仅提供了默认的数据源,同时默认已经配置好了 JdbcTemplate 放在了容器中,程序员只需自己注入即可使用

5、JdbcTemplate 的自动配置是依赖 org.springframework.boot.autoconfigure.jdbc 包下的 JdbcTemplateConfiguration 类

JdbcTemplate主要提供以下几类方法:

方法作用
execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
query方法及queryForXXX方法:用于执行查询相关语句;
用于执行查询相关语句:用于执行存储过程、函数相关语句。

代码实现

依赖

<dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-jdbcartifactId>dependency>

yaml配置文件

spring:datasource:username: rootpassword: 7777#假如时区报错就增加一个时区配置即可&#xff1a;serverTimezone&#61;UTC&#xff1a;表示当前时区url: jdbc:mysql://localhost:3306/rbac?serverTimezone&#61;UTC&userUnicode&#61;true&characterEncoding&#61;utf-8driver-class-name: com.mysql.cj.jdbc.Driver

JDBCController类&#xff1a;

/*** &#64;author acoffee* &#64;create 2021-08-09 21:25*/
&#64;RestController
public class JDBCController {//XXX Template&#xff1a;SpringBoot已经配置好模块bean&#xff0c;拿来即用 CRUD&#64;AutowiredJdbcTemplate jdbcTemplate;//查询数据库的所有信息//没有实体类&#xff0c;数据库中的东西&#xff0c;怎么获取&#xff1f; Map&#64;GetMapping("/userList")public List<Map<String,Object>> userList(){String sql &#61; "select * from sys_dept";List<Map<String, Object>> list_maps &#61; jdbcTemplate.queryForList(sql);return list_maps;}//添加功能&#64;GetMapping("/addUser")public String addUser(){String sql &#61; "insert into rbac.sys_dept (id,dname) values (8,&#39;税务部&#39;)";jdbcTemplate.update(sql);return "update-ok";}//修改功能&#64;GetMapping("/updateUser/{id}")public String updateUser(&#64;PathVariable("id") int id){String sql &#61; "update rbac.sys_dept set dname&#61;? where id&#61;"&#43;id;//封装String str &#61; "运动部";jdbcTemplate.update(sql,str);return "updateUser-ok";}//删除功能&#64;GetMapping("/deleteUser/{id}")public String deleteUser(&#64;PathVariable("id") int id){String sql &#61; "delete from rbac.sys_dept where id &#61; "&#43;id;jdbcTemplate.update(sql);return "deleteUser-ok";}
}

测试类&#xff1a;

&#64;SpringBootTest
class Springboot05DataApplicationTests {//springboot数据库自动配置类&#64;AutowiredDataSource dataSource;&#64;Testvoid contextLoads() throws SQLException {//查看一下默认的数据源System.out.println(dataSource.getClass());//获得数据库的连接Connection connection &#61; dataSource.getConnection();System.out.println(connection);connection.close();}
}

数据库表&#xff1a;
在这里插入图片描述
执行结果&#xff1a;

查询&#xff1a;
在这里插入图片描述

增加&#xff1a;
在这里插入图片描述
在这里插入图片描述
修改&#xff1a;
在这里插入图片描述
在这里插入图片描述
删除&#xff1a;
在这里插入图片描述
在这里插入图片描述
即完成了springboot去整合JDBC去操作数据库


推荐阅读
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
author-avatar
手机用户2602913827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有