前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot系列学习(十八):springboot项目和数据库如何连接,整合原生的jdbc和JdbcTemplate

springboot系列学习(十八):springboot项目和数据库如何连接,整合原生的jdbc和JdbcTemplate

作者头像
一写代码就开心
发布2020-11-20 10:22:48
6990
发布2020-11-20 10:22:48
举报
文章被收录于专栏:java和python

创建一个springboot的项目,导入这些依赖,因为今天只和数据库打交道,所以只是导入这两个就可以了,一个是jdbc,一个是mybatis的驱动依赖

在这里插入图片描述
在这里插入图片描述

以上就是一个项目导入了jdbc的依赖

之后在yml里面进行配置数据源

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
spring:
  datasource:
    username: root
    password: 123456
    #?serverTimezone=UTC解决时区的报错
    url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver

这样我们就可以使用原生的jdbc操作数据库了,如何操作呢?在测试类里面写

在这里插入图片描述
在这里插入图片描述

首先是DI依赖注入dataSource 。这个是我们引入jdbc依赖的时候,会自动的导入,我们拿来使用就可以了。你需要记住的是,在项目中引入了这个,相当于我们在yml里面写的数据库的配置都放到了dataSource对象里面了,从这个对象里面就可以拿到我们在yml里面配置的东西,既然yml里面的东西都放到了这个对象里面,之后用这个对象操作数据库就可以了。

JdbcTemplate , 对jdbc的再次的封装

但是在开发的时候,我们不会这样用,因为以上的方法是我们还要自己写sql语句,这个比较的麻烦,springboot官方也知道麻烦,所以又给我们将jdbc封装了一下,将简单的增删改查也封装了,这个就是JdbcTemplate,这个对象里面不仅仅将数据源进行了封装,简单的增删改查的语句也封装了,我们只要在项目里面注入这个对象,用这个对象就可以操作数据库,不需要我们写sql语句了,

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

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

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

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

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

execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

query方法及queryForXXX方法:用于执行查询相关语句;

call方法:用于执行存储过程、函数相关语句。他是如何使用呢?

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/10/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JdbcTemplate , 对jdbc的再次的封装
    • JdbcTemplate主要提供以下几类方法:
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档