网站蓝色绿色配色,网站设计的优缺点,门窗网站模板,茌平网站建设菜谱制作1. 说明
SpringBoot项目#xff0c;连接MySQL数据库#xff0c;使用Mybatis框架。
本篇文章作为 SpringBoot 使用 Mybatis 的入门。
2. 依赖
2.1. MySQL驱动依赖
MySQL驱动#xff0c;使用SpringBoot版本对应的默认版本#xff0c;不需要手动指定版本。
比如#xf…1. 说明
SpringBoot项目连接MySQL数据库使用Mybatis框架。
本篇文章作为 SpringBoot 使用 Mybatis 的入门。
2. 依赖
2.1. MySQL驱动依赖
MySQL驱动使用SpringBoot版本对应的默认版本不需要手动指定版本。
比如SpringBoot 版本为 2.7.15对应的 MySQL 驱动的版本为 8.0.33 dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency2.2. Mybatis依赖
MyBatis版本使用SpringBoot版本推荐的版本在新建项目时会根据SpringBoot版本自动生成对应的MyBatis版本。
比如SpringBoot 版本为 2.7.15对应的 MyBatis 的版本为 2.3.1 dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.1/version/dependency3. 配置数据源
application.yml 文件中配置数据源MySQL数据库。
包括数据库url用户名密码驱动
spring:datasource:url: jdbc:mysql://localhost:3306/mybatisplus?serverTimeZoneUTCcharacterEncodingutf8useUnicodetrueuseSSLfalseusername: rootpassword: passworddriver-class-name: com.mysql.cj.jdbc.Drivermysql驱动使用的是新版驱动 com.mysql.cj.jdbc.Driver使用旧版驱动在项目启动的时候会报错。
4. Controller - Service - Mapper - Entity
4.1. 图示 4.2. Entity
package com.example.web.entity;import lombok.Data;Data
public class User {private Long id;private String name;private Integer age;private String email;
}4.3. Mapper
4.3.1. Mapper.java
package com.example.web.mapper;import com.example.web.entity.User;
import org.apache.ibatis.annotations.Mapper;import java.util.List;Mapper
public interface UserMapper {ListUser listAll();
}
4.3.2. Mapper.xml
注意这个 Mapper.xml 文件所在的路径 com.example.web.mapper默认情况必须和 Mapper.java 文件的路径一致否则会报错找不到映射文件Mapper.xml。
?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.example.web.mapper.UserMapperselect idlistAll resultTypecom.example.web.entity.Userselect * from user/select/mapper4.4. Service
4.4.1. Service接口
package com.example.web.service;import com.example.web.entity.User;import java.util.List;public interface UserService {ListUser listAll();
}
4.4.2. Service实现
package com.example.web.service.impl;import com.example.web.entity.User;
import com.example.web.mapper.UserMapper;
import com.example.web.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;Service
public class UserServiceImpl implements UserService {Autowiredprivate UserMapper userMapper;Overridepublic ListUser listAll() {return userMapper.listAll();}
}
4.5. Controller
package com.example.web.controller;import com.example.web.entity.User;
import com.example.web.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
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(users)
public class UserController {Autowiredprivate UserService userService;GetMappingpublic ListUser selectAll() {return userService.listAll();}}
5. 接口请求与数据
5.1. 接口请求示例 5.2. 数据库中的表和数据 6. SpringBoot项目创建时添加mysql驱动和mybatis依赖
这里创建新项目使用的是STSSpringToolSuite4因为 IDEA 社区版没法创建SpringBoot项目。 MySQL的驱动版本不需要指定。有和SpringBoot版本适配的默认版本。
7. 对比“MySQL驱动”指定版本和不指定版本
7.1. 指定版本 7.2. 不指定版本跟随SpringBoot版本 8. MySQL驱动的maven仓库坐标变化
MySQL驱动的maven仓库坐标发生了变化。
官方将原来的 mysql-connector-java 改为了 mysql-connector-j。
测试时间点为2023年9月3日 。