本文最后更新于 292 天前,如有错误请邮件至 zhiligyi222na@gmail.com
新建数据库
配置字符集和编码

新建表管理员表admin

admin表结构
CREATE TABLE `admin` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '账号',
`password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码',
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名称',
`phone` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号',
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='管理员信息';
设置username唯一

Spring Boot集成Mybatis
在pom.xml里面添加Mysql和MyBatis依赖
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
Spring Boot配置数据库和Mybatis
application.yml里的配置
#数据库配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/demodb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowMultiQueries=true&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: root
#配置mybatis实体和xml映射
mybatis:
#xml映射
mapper-locations: classpath:mapper/*.xml
configuration:
#配置日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true #把数据库下划线映射为驼峰,category_id -> categoryId
classpath:表示resource的目录,从mapper里扫描所以.xml结尾的文件
创建实体类Admin
entity/Admin.java
package org.example.springdemo.entity;
/**
* 管理员信息
*/
public class Admin {
private Integer id;
private String username;
private String password;
private String user;
private String phone;
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
创建mapper文件夹存放xml文件
resources/mapper/AdminMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.springdemo.mapper.AdminMapper">
<select id="selectAll" resultType="org.example.springdemo.entity.Admin">
select * from `admin` order by id desc
</select>
</mapper>
创建mapper接口层
mapper/AdminMapper.java
package org.example.springdemo.mapper;
import org.example.springdemo.entity.Admin;
import java.util.List;
public interface AdminMapper {
List<Admin> selectAll();
}
在启动类里面 扫描接口层

Mapper接口和Mapper.xml的关系
Mapper定义接口方法
Mapper.xml里面实现方法(SQL语句实现)
连接数据库写一个查询接口
Controller/AdminController.java
package org.example.springdemo.controller;
import jakarta.annotation.Resource;
import org.example.springdemo.common.Result;
import org.example.springdemo.entity.Admin;
import org.example.springdemo.service.AdminService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/admin")
public class AdminController {
@Resource
AdminService adminService;
@GetMapping("/selectAll") //完整的请求路径为:http://localhost:9999/admin/selectAll
public Result selectAll()
{
List<Admin> adminList = adminService.selectAll();
return Result.success(adminList);
}
}
Service/AdminService.java
package org.example.springdemo.service;
import jakarta.annotation.Resource;
import org.example.springdemo.entity.Admin;
import org.example.springdemo.exception.CustomerException;
import org.example.springdemo.mapper.AdminMapper;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class AdminService {
@Resource
AdminMapper adminMapper;
public String admin(String name) {
if ("admin".equals(name)) {
return "admin";
}else {
throw new CustomerException("账号错误");
}
}
public List<Admin> selectAll() {
return adminMapper.selectAll();
}
}
Mapper/AdminMapper.java
package org.example.springdemo.mapper;
import org.example.springdemo.entity.Admin;
import java.util.List;
public interface AdminMapper {
List<Admin> selectAll();
}
resources/mapper/AdminMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.springdemo.mapper.AdminMapper">
<select id="selectAll" resultType="org.example.springdemo.entity.Admin">
select * from `admin` order by id desc
</select>
</mapper>
测试查询接口
重新启动spring boot项目,浏览器访问http://localhost:9999/admin/selectAll









