SpringBoot + MyBatis 读取数据库数据

张开发
2026/4/15 23:29:50 15 分钟阅读

分享文章

SpringBoot + MyBatis 读取数据库数据
一、作业背景本次作业是在已有SpringBoot Helloworld程序的基础上新增MyBatis模块实现从MySQL数据库读取数据并返回给前端的功能。模块1SpringBoot Helloworld程序模块2MyBatis读取数据库数据返回给前端二、技术栈技术版本用途Spring Boot2.7.0后端框架MyBatis2.2.2ORM框架MySQL8.0数据库Maven-项目构建Navicat-数据库管理工具三、项目结构四、核心代码实现1. 实体类User.javapackage com.example.mybatis.domain; import java.time.LocalDateTime; public class User { private Integer id; private String name; private Integer age; private String sex; private LocalDateTime createTime; public Integer getId() { return id; } public void setId(Integer id) { this.id id; } public String getName() { return name; } public void setName(String name) { this.name name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex sex; } public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime createTime; } Override public String toString() { return User{id id , name name , age age , sex sex , createTime createTime }; } }2. Mapper接口UserMapper.javapackage com.example.mybatis.mapper; import com.example.mybatis.domain.User; import org.apache.ibatis.annotations.Mapper; import java.util.List; Mapper public interface UserMapper { ListUser selectAllUser(); User selectUserById(Integer id); }3. Mapper XMLUserMapper.xml?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.mybatis.mapper.UserMapper resultMap idUserResultMap typecom.example.mybatis.domain.User id propertyid columnid/ result propertyname columnname/ result propertyage columnage/ result propertysex columnsex/ result propertycreateTime columncreate_time/ /resultMap select idselectAllUser resultMapUserResultMap SELECT id, name, age, sex, create_time FROM user /select select idselectUserById resultMapUserResultMap SELECT id, name, age, sex, create_time FROM user WHERE id #{id} /select /mapper4. Service实现UserSeviceImpl.javapackage com.example.mybatis.service.impl; import com.example.mybatis.domain.User; import com.example.mybatis.mapper.UserMapper; import com.example.mybatis.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; Service public class UserSeviceImpl implements UserService { Autowired private UserMapper userMapper; Override public ListUser selectAllUser() { return userMapper.selectAllUser(); } Override public User selectUserById(Integer id) { return userMapper.selectUserById(id); } }5. ControllerHelloController.javapackage com.example.mybatis.controller; import com.example.mybatis.domain.User; import com.example.mybatis.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; RestController public class HelloController { Autowired private UserService userService; GetMapping(/hello) public String hello() { ListUser users userService.selectAllUser(); return users.toString(); } GetMapping(/user/{id}) public String getUserById(PathVariable Integer id) { User user userService.selectUserById(id); if (user ! null) { return user.toString(); } else { return 未找到ID为 id 的用户; } } }6. 启动类MybatisApplication.javapackage com.example.mybatis; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; SpringBootApplication MapperScan(com.example.mybatis.mapper) public class MybatisApplication { public static void main(String[] args) { SpringApplication.run(MybatisApplication.class, args); System.out.println(Spring Boot 项目启动成功); System.out.println(访问地址: http://localhost:8080/hello); } }7. 配置文件application.ymlspring: datasource: url: jdbc:mysql://localhost:3306/mybatis_demo?useUnicodetruecharacterEncodingutf-8useSSLfalseserverTimezoneUTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.example.mybatis.domain五、数据库的创建六、测试结果启动成功日志textSpring Boot 项目启动成功 访问地址: http://localhost:8080/hello接口测试接口请求方式返回结果/helloGET返回所有用户数据/user/1GET返回id1的用户信息浏览器访问结果访问http://localhost:8080/hello显示

更多文章