创建Springboot项目
打开idea创建Springboot项目

导入相关的依赖
<?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>3.0.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com</groupId>
<artifactId>Springboot03</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Springboot03</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.16</version>
</dependency>
<!--thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<!--在build中配置resources,来防止我们资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.yaml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.yaml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
创建数据库和对应的表

项目创建相应的包(pojo、mapper、service、contriller)

编写yaml文件(连接数据库相关的数据)
spring:
datasource:
username: root
password: root
#?serverTimezone=UTC解决时区的报错
url: jdbc:mysql://localhost:3306/book?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
#Spring Boot 默认是不注入这些属性值的,需要自己绑定
#druid 数据源专有配置
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
6.编写实体类、接口、xml文件(注解)
a、实体类book
package com.springboot03.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class book {
private int class_id;
private String class_name;
}
b、mapper接口
package com.springboot03.mapper;
import com.springboot03.pojo.book;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface bookMapper {
//查询所有class_info信息
@Select("select * from class_info")
List<book> getAll();
//根据id查询class_info
@Select("select * from class_info where id=#{id}")
List<book> getClassInfoById(int id);
//插入一条记录
@Insert("insert into class_info value(#{book.class_id},#{book.class_name})")
void insertClaas_info(book book);
//删除记录
@Delete("delete class_info where id=#{id}")
void deleteClass_info(int id);
//修改信息
@Update("UPDATE class_info SET class_name=${book.class_name} where id =${id}")
void updateClass_info(book book);
}
c、service接口和实现类
package com.springboot03.sservice;
import com.springboot03.pojo.book;
import java.util.List;
public interface bookService {
List<book> getAll();
List<book> getClassInfoById(int id);
void insertClaas_info(book book);
void deleteClass_info(int id);
void updateClass_info(book book);
}
package com.springboot03.sservice;
import com.springboot03.mapper.bookMapper;
import com.springboot03.pojo.book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class bookServiceImpl implements bookService{
@Autowired
private bookMapper bookMapper;
@Override
public List<book> getAll() {
return bookMapper.getAll();
}
@Override
public List<book> getClassInfoById(int id) {
return bookMapper.getClassInfoById(id);
}
@Override
public void insertClaas_info(book book) {
bookMapper.insertClaas_info(book);
}
@Override
public void deleteClass_info(int id) {
bookMapper.deleteClass_info(id);
}
@Override
public void updateClass_info(book book) {
bookMapper.updateClass_info(book);
}
}
d、controller接口和实现类
package com.springboot03.controller;
import com.springboot03.pojo.book;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface bookController {
List<book> getAll();
//根据id查询class_info
List<book> getClassInfoById(int id);
//插入一条记录
void insertClaas_info(book book);
//删除记录
void deleteClass_info(int id);
//修改信息
void updateClass_info(book book);
}
package com.springboot03.controller;
import com.springboot03.pojo.book;
import com.springboot03.sservice.bookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class bookControllerImpl implements bookController{
@Autowired
private bookService bookService;
@Override
@GetMapping("getAll")
public List<book> getAll() {
return bookService.getAll();
}
@Override
@GetMapping("getById")
public List<book> getClassInfoById(int id) {
return bookService.getClassInfoById(id);
}
@Override
@GetMapping("insert")
public void insertClaas_info(book book) {
bookService.insertClaas_info(book);
}
@Override
@GetMapping("delete")
public void deleteClass_info(int id) {
bookService.deleteClass_info(id);
}
@Override
@GetMapping("update")
public void updateClass_info(book book) {
bookService.updateClass_info(book);
}
}
7.运行项目

总结
在导入相关依赖时,一定不能导错的包,不然项目跑不了。
在创建包的时候,注意创建的包和主类在一个级别下,不然会找不到创建的包,注入不了相应的Mapper、pojo、service等。
上述使用注解来整合,也可以使用MXL来整合,创建相应的xml文件,在yaml文件中读取xml.
mybatis:
mapper-locations:加文件路径