App下載

在Springboot項目中實現(xiàn)連接Mysql并對數(shù)據(jù)庫進行增刪改查

超甜的布丁 2021-08-11 13:57:03 瀏覽數(shù) (5796)
反饋

本篇文章主要介紹了在Springboot項目中,如何連接到MySQL數(shù)據(jù)庫,并對數(shù)據(jù)庫里面的數(shù)據(jù)進行增刪改查的操作。如果您正在學(xué)習(xí)Springboot項目框架的知識,本文內(nèi)容很有參考價值。

1.數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建

創(chuàng)建名為mybatis的數(shù)據(jù)庫:

create database mybatis;

創(chuàng)建名為user2的數(shù)據(jù)表:

use mybatis;
create table user2(
id integer not null primary key,
name varchar(20) not null,
pwd varchar(10) not null,
perms varchar(100) null)

生成如下表結(jié)構(gòu):

在這里插入圖片描述

(已經(jīng)插入了兩行數(shù)據(jù)的)

2.數(shù)據(jù)庫的連接

注意點:url要設(shè)置serverTimezone

比如:jdbc:mysql://localhost:3306?serverTimezone=UTC

連接成功后可以在idea中簡單測試一下:

2021051814474879

3.結(jié)構(gòu):

2021051814474880

4.JDBCController.java

package com.kuang.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.Map;
import java.util.List;
import java.lang.*;
import java.util.Scanner;


@RestController
public class JDBCController {

    @Autowired
    JdbcTemplate jdbcTemplate;

    //查詢數(shù)據(jù)庫的所有信息
    //沒有實體類,數(shù)據(jù)庫里的東西,怎么獲取? Map

    //查
    @GetMapping("/userList")
    public List<Map<String,Object> > userList(){
        String sql="select * from mybatis.user2";
        List<Map<String,Object>> list_maps=jdbcTemplate.queryForList(sql);
        return list_maps;
    }


    //增
    @GetMapping("/addUser")
    public String addUser(){
        String sql="insert into mybatis.user2(id,name,pwd,perms) values(3,'xiaoming','123456','NULL')";
        jdbcTemplate.update(sql);
        return "add-ok";
    }

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

        //封裝Object
        Object[] objects = new Object[2];
        objects[0]=name;
        objects[1]=pwd;

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

    //刪
    @GetMapping("/deleteUser/{id}")
    public String deleteUser(@PathVariable("id") int id){
        String sql="delete from mybatis.user2 where id=?";
        jdbcTemplate.update(sql,id);
        return "delete-ok";
    }
}

5.application.yml

spring:
  datasource:
    username: root
    password: liding
    url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.jdbc.Driver

6.Springboot04DataApplication.java

package com.kuang;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Springboot04DataApplication {

    public static void main(String[] args) {
        SpringApplication.run(Springboot04DataApplication.class, args);
    }

}

7.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.kuang</groupId>
    <artifactId>springboot-04-data</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-04-data</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 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>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.5</version>
            </plugin>
        </plugins>
    </build>
</project>

8.pom.xml文件中注意事項

1)<plugin> </plugin>之間的語句爆紅

加上與parent中相同的version號即可;

2)建立項目時勾選以下模塊
spring web
JDBC API
mysql Driver

9.查詢user

啟動項目
輸入:localhost:8080/userList

在這里插入圖片描述
在這里插入圖片描述

10.修改user

輸入:localhost:8080/updateUser/5/hahahaha/1455

(說明:修改id為5的user,名字改為hahahaha,密碼改為1455)

在這里插入圖片描述

修改后的數(shù)據(jù)表:

在這里插入圖片描述

11.增加user

輸入:localhost:8080/addUser

(這里先寫一個簡單靜態(tài)的addUser吧,寫了半天類似與updateUser的一直報錯)

在這里插入圖片描述
修改后的數(shù)據(jù)表:
在這里插入圖片描述

12.刪除user

輸入:localhost:8080/deleteUser/3

(刪除id為3的user)

在這里插入圖片描述

修改后的數(shù)據(jù)表:

在這里插入圖片描述

本篇關(guān)于Springboot項目中連接MySQL數(shù)據(jù)庫并對其中數(shù)據(jù)進行增刪改查操作的文章就介紹到此結(jié)束了,想要了解更多關(guān)于Springboot項目框架的其他內(nèi)容,可以多多關(guān)注W3Cschool相關(guān)文章,也希望本篇文章能夠幫助到大家的學(xué)習(xí)!


0 人點贊