Springboot整合JDBC

前言

Springboot已经帮我们把jdbc的操作给封装好了

叫做jdbc Template 类似的都叫做xxxx Template
例如RedisTemplate 等等

我们只需要做两件事情,导入相关的依赖,以及配置好我们的连接属性,使用即可

导入依赖

   <!--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>runtime</scope>
        </dependency>

关键就是这两个依赖,我们可以在创建项目的时候选中即可,Springboot会自动帮我们导入相关的依赖。
在这里插入图片描述
如果你使用mybatis来整合就需要选中Mybatis即可

配置连接属性

我们在application.yml中进行配置

server:
  port: 8081
spring:
  datasource:
    username: root
    password: 123456
    # 假如时区报错了就增加一个时区的配置 ServerTimezone=UTC
    url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.jdbc.Driver

注意:如果使用高版本的Mysql(5以上的版本),需要加一个时区的配置。

测试

我们写一个Controller来测试jdbc

package com.cjh.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
public class JDBCController {

    @Autowired
    JdbcTemplate jdbcTemplate;

    //查询数据库的所有信息
    //没有实体类,数据库中的东西没办法获取  Map
    @GetMapping("/userList")
    public List<Map<String,Object>> userList(){
        String sql = "select * from user";
        List<Map<String, Object>> list_maps = jdbcTemplate.queryForList(sql);
        return list_maps;
    }

    //增加一名用户
    @GetMapping("/addUser")
    public String addUser(){
        String sql = "insert into mybatis.user(id,name,pwd) values (4,'小明','123456')";
        jdbcTemplate.update(sql);
        return "update-ok";
    }

    //修改一名用户
    @GetMapping("/updateUser{id}")
    public String updateUser(@PathVariable("id") int id){
        String sql = "update mybatis.user set name = ?,pwd=? where id = "+id;

        //封装
        Object[] objects = new Object[2];
        objects[0]="小明2";
        objects[1]="zzzz";
        jdbcTemplate.update(sql,objects);
        return "update-ok";
    }

    //删除一名用户
    @GetMapping("/delUser{id}")
    public String delUser(@PathVariable("id") int id){
        String sql = "delete from mybatis.user where id=?";
        jdbcTemplate.update(sql,id);
        return "update-ok";
    }
}

我们只需要拿出JdbcTemplate即可使用。

 @Autowired
    JdbcTemplate jdbcTemplate;

版权声明:本文为m0_46983722原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。