SpringBoot整合JDBC的实现

简介

JDBC是最原基本的连接数据源的方式,在springboot中所有和数据源有关系的都在Spring Data家族中,所以我们看看springboot中如何使用JDBC来实现对数据库的增删改查操作。

简单使用

引入依赖

这里我们只引入基本的依赖就好,创建一个springboot项目(这里版本是2.1.6),然后添加以下依赖:

  <dependencies>
    <!--jdbc-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

    <!--mysql驱动-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtimen</scope>
    </dependency>

    <!--web-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!--test-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>
  </dependencies>

编写配置文件

这里我们需要把数据库的基本连接信息配置好

spring:
 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  ## 这里如果不配置时区可能会报错,所以配置时区:serverTimezone=UT
  url: jdbc:mysql://localhost:3306/study_springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
  username: root
  password: root

编写测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class BaseTest {

  @Autowired
  private DataSource dataSource;

  @Test
  public void load(){
    // 打印出:class com.zaxxer.hikari.HikariDataSource
    System.out.println(dataSource.getClass());
  }
}

实现增删改查

spring boot中有很多的xxxTemplate,也就是给我们默认配置了 很多的模板,方便我们进行开发,比如上面测试中的 JdbcTemplate,spring boot已经给我们封装好方法了,我们只要调用就好,下面是增删改查的案例:

@RestController
public class TestController {

  @Autowired
  private JdbcTemplate jdbcTemplate;

  @GetMapping("/userList")
  public List<Map<String, Object>> getUserList(){
    String sql = "select * from study_springboot.user";
    List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
    return maps;
  }
  @GetMapping("/addUser")
  public String addUser(){

    String sql = "insert into study_springboot.user(id, name, password) values('1', 'zhangsan', 'qqqq')";
    jdbcTemplate.update(sql);

    return "add success";
  }

  /**
   * 可以通过占位符实现入参
   * @param id
   * @return
   */
  @GetMapping("/updateUser/{id}")
  public String updateUser(@PathVariable("id") int id){
    String sql = "update study_springboot.user set name =?, password = ? where id = "+id;

    // 封装占位符
    Object[] objects = new Object[2];
    objects[0] = "李四";
    objects[1] = "pppppp";

    jdbcTemplate.update(sql, objects);
    return "update success";
  }

  @GetMapping("/deleteUser/{id}")
  public String deleteUser(@PathVariable("id") int id){
    String sql = "delete from study_springboot.user where id = ?";
    // int 类型也是一个object,所以这样传参也是可以的
    jdbcTemplate.update(sql, id);

    return "delete success";
  }

}

上面的案例只是展示基本的操作,但是真实项目中是不会这样写的,一般还是整合MyBatis或者JPA来实现操作数据源。

到此这篇关于SpringBoot整合JDBC的实现的文章就介绍到这了,更多相关SpringBoot整合JDBC内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Springboot jdbctemplate整合实现步骤解析

    一.创建项目导入依赖 1.1 1.2 1.3 二.创建service,pojo,controller 2.1 创建一个实体类User类属性userId,userName,userPwd 2.2 我这里sql语句直接写service层了 spring提供jdbctemplate的自动话配置,所以我们直接使用就好了, jdbctemplate提供的增删改都是update()方法 查询所有query(),有俩种方法, 第一种RowMapper<User>是查询数据库字段和类的属性名不一致的情况 第二

  • SpringBoot 2.0 整合sharding-jdbc中间件实现数据分库分表

    一.水平分割 1.水平分库 1).概念:  以字段为依据,按照一定策略,将一个库中的数据拆分到多个库中. 2).结果  每个库的结构都一样:数据都不一样:  所有库的并集是全量数据: 2.水平分表 1).概念  以字段为依据,按照一定策略,将一个表中的数据拆分到多个表中. 2).结果  每个表的结构都一样:数据都不一样:  所有表的并集是全量数据: 二.Shard-jdbc 中间件 1.架构图 2.特点 1).Sharding-JDBC直接封装JDBC API,旧代码迁移成本几乎为零. 2).适

  • SpringBoot 整合jdbc和mybatis的方法

    通用配置# 下面介绍的整合JDBC和整合MyBatis都需要添加的实体类和配置 数据库表# CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_

  • SpringBoot整合JDBC的实现

    简介 JDBC是最原基本的连接数据源的方式,在springboot中所有和数据源有关系的都在Spring Data家族中,所以我们看看springboot中如何使用JDBC来实现对数据库的增删改查操作. 简单使用 引入依赖 这里我们只引入基本的依赖就好,创建一个springboot项目(这里版本是2.1.6),然后添加以下依赖: <dependencies> <!--jdbc--> <dependency> <groupId>org.springframew

  • SpringBoot整合JDBC、Druid数据源的示例代码

    1.SpringBoot整合JDBCTemplate 1.1.导入jdbc相关依赖包 主要的依赖包: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</gro

  • SpringBoot整合数据库访问层的实战

    目录 一.springboot整合使用JdbcTemplate 1.pom依赖 2.application.yml新增配置 3.建表sql 4.UserService 5.浏览器访问 二.整合mybatis框架查询 1.pom依赖 2.实体类UserEntity 3.UserMapper接口 4.UserService 5.app启动 三.整合mybatis框架插入 1.UserMapper添加insertUser 2.UserService添加insertUserMybatis 一.sprin

  • SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper实例详解

    一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&q

  • SpringBoot整合Shiro的代码详解

    shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/  它提供了很方便的权限认证和登录的功能. 而springboot作为一个开源框架,必然提供了和shiro整合的功能!接下来就用springboot结合springmvc,mybatis,整合shiro完成对于用户登录的判定和权限的验证. 1.准备数据库表结构 这里主要涉及到五张表:用户表,角色表(用户所拥有的角色),权限表(角色所涉及到的权限),用户-角色表(用户和角色是多对多的),角色-权限表

  • springboot整合mybatis中的问题及出现的一些问题小结

    1.springboot整合mybatis mapper注入时显示could not autowire,如果强行写(value  = false ),可能会报NullPointException异常 解决方案: dao层加注解@Component(value = "首字母小写的接口名如UserMapper->userMapper") dao层还可以加注解@Mapper 2.The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecogni

  • SpringBoot整合MyBatisPlus配置动态数据源的方法

    MybatisPlus特性 •无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 •损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 •强大的 CRUD 操作:内置通用 Mapper.通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 •支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 •支持多种数据库:支持 MySQL.MariaDB.Ora

  • Springboot整合Urule的方法步骤

    摘要: Urule决策引擎可简化开发校验.决策类代码,底层由java语言实现,可基于SpringBoot快速配置,因为Urule工具目前为非常用工具,网上关于SpringBoot整合Urule资料匮乏,一直自己摸索,简单的环境搭建也费了些功夫,遇到些坑,作此记录 本次记录主要记录Urule-Serve端Urule-Client端分开部署的模式,这种使用场景也会更多:嵌入式成一个项目的配置和Urule-Server端一致. 一.Urule-Server端: 1.1. 基于maven的SpringB

  • SpringBoot整合Mybatis实现CRUD

    准备工具:IDEA jdk1.8 Navicat for MySQL Postman 一.新建Project 选择依赖:mybatis Web Mysql JDBC 项目结构 pom依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o

随机推荐