本篇文章主要介紹了在Springboot項(xiàng)目中,如何連接到MySQL數(shù)據(jù)庫,并對數(shù)據(jù)庫里面的數(shù)據(jù)進(jìn)行增刪改查的操作。如果您正在學(xué)習(xí)Springboot項(xiàng)目框架的知識,本文內(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ù)庫的連接
注意點(diǎn):url要設(shè)置serverTimezone
比如:jdbc:mysql://localhost:3306?serverTimezone=UTC
連接成功后可以在idea中簡單測試一下:
3.結(jié)構(gòu):
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í)體類,數(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文件中注意事項(xiàng)
1)<plugin> </plugin>之間的語句爆紅
加上與parent中相同的version號即可;
2)建立項(xiàng)目時勾選以下模塊 spring web JDBC API mysql Driver
9.查詢user
啟動項(xiàng)目
輸入: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項(xiàng)目中連接MySQL數(shù)據(jù)庫并對其中數(shù)據(jù)進(jìn)行增刪改查操作的文章就介紹到此結(jié)束了,想要了解更多關(guān)于Springboot項(xiàng)目框架的其他內(nèi)容,可以多多關(guān)注W3Cschool相關(guān)文章,也希望本篇文章能夠幫助到大家的學(xué)習(xí)!