mysql8.0 mybatis-plus 什么版本
时间: 2023-12-25 15:04:42 浏览: 130
MySQL 8.0 和 MyBatis-Plus 的版本兼容情况如下:
- MyBatis-Plus 3.4.x:支持 MySQL 8.x。
- MyBatis-Plus 3.3.x:支持 MySQL 8.0.x,但不支持 MySQL 8.0.11 以上版本,因为 8.0.11 以上版本默认采用 caching_sha2_password 加密方式,需要特殊配置才能使用。
建议使用最新版本的 MyBatis-Plus,以获得更好的兼容性和性能。
相关问题
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version></dependency> <dependency>对应的mysql-connector-java.jar的版本
一般来说,mybatis-plus-boot-starter 3.4.1 版本对应的 mysql-connector-java.jar 版本是 8.0.x ,具体的版本号可以参考 mybatis-plus-boot-starter 的 pom.xml 文件中的依赖声明。不过,这并不是绝对的,也可以根据具体情况在项目中使用其他版本的 mysql-connector-java.jar。
springboot mybatis-plus jwt 登录接口
下面是一个使用 Spring Boot、Mybatis-Plus 和 JWT 实现登录接口的示例:
首先,你需要添加以下依赖项到你的 `pom.xml` 文件中:
```xml
<dependencies>
<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Mybatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!-- JWT -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
</dependencies>
```
接着,你需要创建一个用户模型类 `User`,它应该包含用户名和密码等信息:
```java
public class User {
private String username;
private String password;
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;
}
}
```
然后,你需要创建一个用户数据访问接口 `UserMapper`,它应该继承 `BaseMapper` 接口,并使用 Mybatis-Plus 提供的注解来完成 CRUD 操作:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 根据用户名查询用户
User selectByUsername(String username);
}
```
接着,你需要创建一个 JWT 工具类 `JwtUtils`,它应该包含生成 JWT、解析 JWT 等操作:
```java
public class JwtUtils {
// 密钥
private static final String SECRET = "your-secret-key";
// 过期时间
private static final long EXPIRATION_TIME = 86400000;
// 生成 JWT
public static String generateToken(String username) {
Date now = new Date();
Date expiration = new Date(now.getTime() + EXPIRATION_TIME);
return Jwts.builder()
.setSubject(username)
.setIssuedAt(now)
.setExpiration(expiration)
.signWith(SignatureAlgorithm.HS256, SECRET)
.compact();
}
// 解析 JWT
public static String getUsernameFromToken(String token) {
return Jwts.parser()
.setSigningKey(SECRET)
.parseClaimsJws(token)
.getBody()
.getSubject();
}
}
```
接着,你需要创建一个登录控制器 `AuthController`,它应该包含登录接口和刷新 JWT 接口:
```java
@RestController
public class AuthController {
@Autowired
private UserMapper userMapper;
// 登录接口
@PostMapping("/login")
public String login(@RequestBody User user) {
// 查询用户
User dbUser = userMapper.selectByUsername(user.getUsername());
if (dbUser == null || !dbUser.getPassword().equals(user.getPassword()))
阅读全文