当前位置: 首页 > news >正文

mybatis-plus初体验,解决报错Invalid value type for attribute factoryBeanObjectType: java.lang.String

解决报错Invalid value type for attribute 'factoryBeanObjectType': java.lang.String

推荐这位大佬的博客:

https://www.cnblogs.com/muphy/p/18653627

项目结构

image

MyBatis-Plus配置类

MyBatisPlusConfig

package com.example.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** MyBatis-Plus配置类* 配置分页插件等功能*/
@Configuration
public class MyBatisPlusConfig {/*** 添加分页插件*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();// 添加MySQL的分页插件interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

用户Controller类

UserController

package com.example.controller;import com.example.entity.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;import java.time.LocalDateTime;
import java.util.List;/*** 用户Controller类* 处理HTTP请求,实现CRUD操作的RESTful接口*/
@RestController
@RequestMapping("/api/users")
public class UserController {@Autowiredprivate UserService userService;/*** 获取所有用户列表* GET /api/users*/@GetMappingpublic ResponseEntity<List<User>> getAllUsers() {List<User> users = userService.list();return ResponseEntity.ok(users);}/*** 根据ID获取单个用户* GET /api/users/{id}*/@GetMapping("/{id}")public ResponseEntity<User> getUserById(@PathVariable Long id) {User user = userService.getById(id);if (user == null) {return ResponseEntity.notFound().build();}return ResponseEntity.ok(user);}/*** 创建新用户* POST /api/users*/@PostMappingpublic ResponseEntity<User> createUser(@RequestBody User user) {// 设置创建和更新时间user.setCreateTime(LocalDateTime.now());user.setUpdateTime(LocalDateTime.now());boolean saved = userService.save(user);if (saved) {return ResponseEntity.ok(user);}return ResponseEntity.status(500).build();}/*** 更新用户信息* PUT /api/users/{id}*/@PutMapping("/{id}")public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {// 检查用户是否存在if (userService.getById(id) == null) {return ResponseEntity.notFound().build();}// 设置ID和更新时间user.setId(id);user.setUpdateTime(LocalDateTime.now());boolean updated = userService.updateById(user);if (updated) {return ResponseEntity.ok(user);}return ResponseEntity.status(500).build();}/*** 删除用户* DELETE /api/users/{id}*/@DeleteMapping("/{id}")public ResponseEntity<Void> deleteUser(@PathVariable Long id) {// 检查用户是否存在if (userService.getById(id) == null) {return ResponseEntity.notFound().build();}boolean deleted = userService.removeById(id);if (deleted) {return ResponseEntity.noContent().build();}return ResponseEntity.status(500).build();}
}

用户实体类

User

package com.example.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;import java.io.Serializable;
import java.time.LocalDateTime;/*** 用户实体类* 对应数据库中的user表*/
@Data
@TableName("user")
public class User implements Serializable {private static final long serialVersionUID = 1L;/*** 主键ID,自增*/@TableId(type = IdType.AUTO)private Long id;/*** 用户名*/private String username;/*** 密码*/private String password;/*** 昵称*/private String nickname;/*** 邮箱*/private String email;/*** 创建时间*/private LocalDateTime createTime;/*** 更新时间*/private LocalDateTime updateTime;
}

用户Mapper接口

UserMapper

package com.example.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.User;/*** 用户Mapper接口* 继承自MyBatis-Plus的BaseMapper,提供基础的CRUD操作*/
public interface UserMapper extends BaseMapper<User> {// 可以在这里添加自定义的SQL方法
}

用户Service实现类

UserServiceImpl

package com.example.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.entity.User;
import com.example.mapper.UserMapper;
import com.example.service.UserService;
import org.springframework.stereotype.Service;/*** 用户Service实现类* 继承自MyBatis-Plus的ServiceImpl,实现了UserService接口*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {// 可以在这里实现自定义的业务方法
}

用户Service接口

UserService

package com.example.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.User;/*** 用户Service接口* 继承自MyBatis-Plus的IService,提供更多的业务方法*/
public interface UserService extends IService<User> {// 可以在这里添加自定义的业务方法
}
http://www.zskr.cn/news/6799.html

相关文章:

  • 04_UDP协议
  • 从0到1搭建数据分析自动化程序链,AI应用架构师的实战指南
  • IOS App技术支持网址(URL)
  • C++ 内存管理
  • The 2024 CCPC Online Contest 7/12 L/B/K/D/J/E/C
  • 在joule里面使用agent 功能
  • qoj10093 Jump the Frog
  • new 和make
  • 墨刀是否能替代Axure?从产品经理三大画图能力深度分析
  • 唯创知音AI语音交互芯片与模组介绍
  • 用 Go 重写 adbkit:原理、架构与搭建实践
  • C语言环境搭建之Linux子系统使用vscode连接子系统
  • Ubuntu filebrowser网盘工具安装
  • 微信社群机器人接口
  • Revit二次开发 钢筋生成API(一)
  • 如何通过Python SDK 删除 Collection
  • 图片大全 - voasem
  • 面试时让你设计一个“朋友圈点赞”功能测试,如何回答才出彩?
  • 乌班图无法登录桌面,只能终端登录用户。且有网拉不了包(DNS问题)
  • 完整教程:云手机的技术架构可分为哪些
  • AI提示词遇见精密算法:TimeGuessr如何用数学魔法打造文化游戏新体验
  • Arkime:大规模开源网络分析与数据包捕获系统
  • get和post如何理解
  • me and my girlfriend WP复盘
  • 顺序表
  • 开源・数据・能效:MyEMS 如何成为能源管理革新的核心引擎
  • HMCL 3.6.17 Minecraft我的世界启动器
  • go 变量作用域
  • ​​电流互感器选型指南:以普科科技产品为例
  • 读书笔记:白话解读位图索引:什么时候该用,什么时候千万别用?