springboot-整合JDBC


1 搭建一个springboot项目

参考地址:

2 在pom.xml中引入依赖



    org.springframework.boot
    spring-boot-starter-web



    org.springframework.boot
    spring-boot-starter-jdbc



    mysql
    mysql-connector-java
    runtime

这一步也可以选择,在创建项目时自动导入

3 编写数据库连接配置

在 resources 下新建一个 application.yaml 文件,并编写数据库的连接信息,这里连接了mybatis数据库

application.yaml

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

4 测试查看数据源

编写springboot自动生成的测试类

src/test/java/com/lv/Springboot04DataApplicationTests.java

package com.lv;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

@SpringBootTest
class Springboot04DataApplicationTests {

    @Autowired
    DataSource dataSource;

    @Test
    void contextLoads() throws SQLException {
        //查看一下默认的数据源 com.zaxxer.hikari.HikariDataSource
        System.out.println(dataSource.getClass());
        //获得数据库链接
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        //xxx Template : SpringBoot已经配置好模板bean,拿来即用 CRUD
        //关闭
        connection.close();
    }
}

运行测试类,查看控制台

5 编写CRUD

新建一个controller包并在该包下新建一个JdbcController,在里面编写增删改查方法,这里以user表为例

JdbcController.java

package com.lv.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> userList(){
        String sql = "select * from user";
        List> list_maps = jdbcTemplate.queryForList(sql);
        return list_maps;
    }
    //增加数据
    @GetMapping("/userAdd")
    public String addUser(){
        String sql = "insert into user(id,name,pwd) values(4,'admin4','123456')";
        jdbcTemplate.update(sql);
        return "add-ok";
    }
    //修改数据
    @GetMapping("/userUpdate/{id}")
    public String userUpdate(@PathVariable("id") int id){
        String sql = "update user set name=?,pwd=? where id = "+id;
        Object[] params = {"嘿嘿","000000"};
        jdbcTemplate.update(sql,params);
        return "update-ok";
    }
    //删除数据
    @GetMapping("/userDelete/{id}")
    public String userDelete(@PathVariable("id")int id){
        String sql = "delete from user where id = ?";
        jdbcTemplate.update(sql,id);
        return "delete-ok";
    }
}

6 测试

查看user数据表

启动程序,访问userList请求

数据查询成功,访问userAdd请求

刷新并查看数据库

数据添加成功,接下来访问userUpdate请求并传递参数

刷新并查看数据库

数据修改成功,最后访问userDelete请求,删除id为4的数据

刷新并查看数据库

删除成功

相关